It was Andrea Dovizioso (Mission Winnow Ducati) who took the holeshot with another stunning start, this time from the second row, with Marquez pushed back into second and Quartararo then trying to send it around the outside of the reigning champion.
But he couldn't quite make that stick and Maverick Vinales (Monster Energy Yamaha MotoGP) capitalised to sweep through soon after. The number 12 then attacked Marquez to take over in second, with Jorge Lorenzo (Repsol Honda Team) making some serious ground up into fourth to fight for the podium.
Marquez hit back against Vinales on Lap 2 and it was shaping up to be a serious fight at the front, but that's when the drama hit. Lorenzo went to attack Vinales just as Marquez attacked Dovizioso, and the number
99 then lost the front as the space ahead diminished. That set off a huge incident as the number 99 took down Dovizioso, then Vinales, and then Valentino Rossi (Monster Energy Yamaha MotoGP) got caught too - with all four out the race. Marquez was clear of it, with Petrucci the man left in second, escaping the drama after having been passed by Rossi at the best time for one of them and the worst for the other.
The big fight
Marquez was then able to pull the pin and extend the gap but the fight behind was on fire: Petrucci vs Alex Rins (Team Suzuki Ecstar) vs Quartararo.
First it was a duel behind the Italian before Rins then started looking for a way past Petrucci, attacking into Turn 1 and the Ducati defending to perfection in Turn 2. A couple of laps later it was a Rins and repeat, but the Suzuki man couldn't make it stick.
It was a near-perfect day for Marquez' FIM MotoGP World Championship hopes in Montmelo, and the reigning champion heads into the next race with a serious buffer of 37 points at the top of the table.
Dovizioso remains second, Rins couldn't capitalise too much in third...but next up it's the Dutch TT, and that's the perfect place for Yamaha, especially, to strike back