Andrea Dovizioso got Ducati back on the podium for the first time since September 2012 as he took third behind the second Honda of Dani Pedrosa.
But the factory Yamahas were only eighth and 10th after problems for both Valentino Rossi and Jorge Lorenzo.
Lorenzo's issue was a gratuitous jump-start. The double world champion shot forward so early that he decided his only option was to accelerate away and try to build a lead before the inevitable ride-through penalty, which he took at the end of lap one.
Marquez had caught up to Lorenzo's tail even before he dived for the pits, and was unstoppable thereafter.
The world champion extended a 5.4-second lead over Pedrosa and was totally untroubled until the final corner of the final lap, when he made a shock mistake and nearly lost his bike, before regaining his composure and cruising past the chequered flag.
The battle for third place was a spectacular one throughout the race.
A storming start from Andrea Iannone put Pramac Ducati in the top three, where he remain for half the race.
Rossi looked the man most likely to demote his friend from a shock podium as he hacked through the top 10 pack.
But after one passing bid on Iannone went awry, Rossi began dramatically losing pace, seemingly due to tyre problems.
He fell back to a distant eighth place, while slow-starting front-row qualifier Stefan Bradl and Dovizioso closed in on Iannone.
The Pramac man held on as long as he could before slipping back to a still career-best seventh place.
Dovizioso then overtook Bradl for third place, and managed to make a break when the LCR rider became caught up with a late-charging Bradley Smith, who had earlier despatched Tech 3 Yamaha team-mate Pol Espargaro.
Smith made it past Bradl with two laps to go only to run wide, leaving him to settle for fifth.
Lorenzo rapidly passed the midfielders but ran out of time to catch Aleix Espargaro for ninth.
Cal Crutchlow was in the top six battle at first, before pitting due to a problem with his Ducati's rear tyre.
He rejoined last, then crashed heavily, sustaining a reported hand injury.
- Sports & Recreation
- Andrea Dovizioso
- Jorge Lorenzo
- Valentino Rossi
- Dani Pedrosa
- Andrea Iannone
- Stefan Bradl