With the race beginning on a wet track but with the sun out, it seemed only a matter of time before the field would have to switch to dry tyres, all 23 riders opting to go with wets.
Poleman Marquez was alone in the top eight in opting to run a soft wet rear tyre, and lost the lead to the Ducati’s Jorge Lorenzo at Turn 5 on the opening lap before quickly dropping down the order.
The Repsol Honda man had sunk to the bottom of the top 10 when he pitted at the end of the second lap for his dry-shod bike, a decision which proved to be a masterstroke.
Several other riders came in the following lap, but none of the leading group, with Lorenzo leading Valentino Rossi, Andrea Dovizioso and a fast-starting Johann Zarco out front.
Lorenzo finally came in at the end of lap four after losing the lead to Rossi, but dropped well down the order as his second bike hadn’t been prepared for wet conditions when he arrived at the Ducati box.
That left Rossi, Dovizioso and Zarco out front, but losing anywhere from eight to 10 seconds a lap to Marquez, who had recovered to fourth with a scintillating pace on slicks.
Rossi and Dovizioso finally bailed for their dry-shod bikes on lap five, with Zarco staying out an extra lap and being passed for the lead by the much faster Marquez.
With a 20-second lead over his nearest opposition, it was a simple case of reeling off the remaining laps for Marquez, who ended up 12.4s clear at the finish for the 32nd MotoGP victory of his career.
It gives him a 14-point lead over Maverick Vinales at the head of the championship.
Dani Pedrosa, who was among those to follow Lorenzo into the pits on lap four, wound up a net fifth after the stops, and soon picked off Karel Abraham, Scott Redding and Aleix Espargaro to complete a Repsol Honda 1-2.
A further 5.6s back at the finish was Vinales on the best of the works Yamahas, the Spaniard having pitted on the same lap as Lorenzo and Pedrosa before recovering to third after passing the LCR Honda of Cal Crutchlow, who was on the same strategy.
In the closing laps, Crutchlow found himself caught by Rossi, the Italian finding a way through at Turn 5 on the final lap to grab fourth place.
Dovizioso was sixth on the best of the Ducatis, followed by Danilo Petrucci’s Pramac machine and the Aprilia of Aleix Espargaro, who was handed a three-place penalty for an unsafe release that made Suzuki rider Andrea Iannone crash in the pits.
Pol Espargaro took KTM’s best-ever MotoGP finish in ninth, while the top 10 was completed by Jonas Folger (Tech 3 Yamaha), who came into the pits twice in the space of two laps.
Alex Rins was the best Suzuki finisher in 11th, followed by Zarco, a fading Abraham, Jack Miller’s Marc VDS Honda and Lorenzo, who took the final point in 15th.
Having run as high as second, Pramac Ducati’s Redding ultimately fell to a disappointing 16th once the track had dried out fully, suffering with a damaged exhaust.
Alvaro Bautista (Aspar Ducati), Loris Baz (Avintia Ducati) and Bradley Smith (KTM) were the only three retirements, Bautista and Baz crashing out and Smith pitting with two laps to go.