Choosing between a masters at a top tier university, and a PhD at a lower tier university I'm in a difficult situation, although I understand that I'm very lucky to be in this position.

I'm a final year UK chemical engineering student expecting a mid-high first class B.Eng degree from a fairly decent Russel Group university. 

I'm looking for graduate studies and I have managed to secure 2 places:

The first is a fully funded 4 year PhD as part of a CDT in synthetic biology. My first year would be spent at Oxford and my final 3 years would be spent at Bristol University, which I will graduate from after that. 

My second offer is for an MPhil in a similar subject at Cambridge University which they have offered to fully fund also. 

I'm very unsure as to what to take. I cannot defer my PhD offer. On the one hand, Cambridge is a very good university but my fear is that if I do the masters there, I may have thrown away my only chance at a PhD, and that I won't be able to get one after that - And ideally I'd like to do a PhD at a top tier institution such as Oxford or Cambridge. On the other hand, the PhD at Bristol as a CDT, so I won't be choosing my supervisor until my second year after I finish my first year at Oxford, and I'm locking myself into a particular discipline, and to a specific list of potential supervisors for 4 years directly after my bachelors.

Again I'm well aware that I'm extremely lucky to be in this position, but any advice on what path might be the best one would be greatly appreciated. 

EDIT: The specific PhD that I applied is entirely taught for its first year, which is why I am not worried about the jump from the bachelors straight to PhD.
On balance, I'd say go to Cambridge. If you do good research and write a high quality MPhil thesis, it is very unlikely that you will not get an opportunity to stay on for a PhD.