Marquez, who had lined up on pole, fought off the Ducatis of Danilo Petrucci and Jack Miller early on before assuming full control of the race and cruising to his second successive Le Mans win and Honda’s 300th across MotoGP and its 500cc predecessor.
Petrucci had challenged Marquez at the start, the pair going side by side into Turn 1 before Marquez reclaimed the lead down the inside into the chicane.
The Ducati rider tried again a lap later, but once more couldn’t make a move stick, and his initial challenge then faded as he was shuffled down to fifth a lap later.
Marquez could not establish an immediate gap as Pramac privateer Miller quickly negated his breakaway, before lunging past the reigning champion on the fifth lap.
But Marquez was back ahead two laps later, diving down the inside of Miller at the Dunlop chicane and successfully anticipating a La Chapelle counter-attack from the Australian – who ran out wide and finally surrendered first place to the Honda man.
From there on Marquez began to assert his authority, pulling out a second between himself and Miller as the 27-lap race approached its halfway point.
Ducati’s Andrea Dovizioso, who had slipped down to seventh at the start but fought back up the order, was shadowing Miller by that point, and moved past when Miller went wide at the La Musee left-hander.
Yet Dovizioso, three seconds behind Marquez after he’d made the move on Miller, had no answer to the race leader’s pace either, and was instead faced with a late challenge for second from Petrucci.
With five laps left to run, Petrucci attempted a move down the inside of Dovizioso entering the Dunlop chicane, only to run out wide and hand the spot back to his factory squadmate.
He was eyeing up a move at La Musee on the subsequent lap, and dived down the inside at the left-hander the next time by, but Dovizioso held his line and maintained position.
The works team-mates remained close on track until the chequered flag, Petrucci eventually finishing 0.158s behind Dovizioso to secure his first podium as a factory Ducati rider.
Miller held on to fourth place, seeing off the Yamaha of Valentino Rossi in a late scrap for position.
Rossi’s team-mate and practice pacesetter Maverick Vinales had dropped to as low as 14th early on, and made little progress before being taken out by rookie Pecco Bagnaia on the seventh lap.
Bagnaia lost control of his Pramac-run Ducati at the sweeping Turn 12 right-hander and collected Vinales, who was launched off his Yamaha and into the gravel.
KTM’s Pol Espargaro muscled his way into the top five at the start, and eventually secured sixth place, recording the Austrian manufacturer’s second-best MotoGP result so far.
Franco Morbidelli couldn’t find a way past Espargaro and settled for seventh, while his Petronas Yamaha team-mate Fabio Quartararo recovered from a poor start and a third-lap error to finish close behind in eighth.
LCR Honda’s Cal Crutchlow was ninth, with Suzuki’s Alex Rins managing no better than 10th and Marquez’s team-mate Jorge Lorenzo finishing right behind Rins despite having run the whole race within the top 10.
The other Suzuki of Joan Mir crashed on the warm-up lap at the Dunlop chicane, with Karel Abraham simultaneously dropping his Avintia Ducati at the same corner.
Both continued, but while Abraham was eventually black-flagged, Mir was last of the finishers in 16th.
Tito Rabat (Avintia Ducati) and Andrea Iannone (Aprilia) were both retirements, as was LCR Honda’s Takaaki Nakagami, who had crashed out of 12th place.