The Spaniard prevailed in a race-long, three-way fight with Jorge Lorenzo and Dani Pedrosa, with the trio covered by less than half a second for much of the race.
Poleman Cal Crutchlow's bid to end a 22-year wait for a British winner meanwhile failed when he fell at the halfway mark. He managed to restart, but ended down in 17th.
In his absence the fight for victory boiled down to the usual suspects, with Lorenzo holding the advantage after seizing the lead away from the line.
Honda duo Marquez and Pedrosa, who followed the Spaniard through past Crutchlow away from the line, initially lost ground but gradually closed back onto the tail of the lead Yamaha.
By the halfway mark the three were locked together at the front, Marquez looking increasingly aggressive. To add to the tension spots of rain began to fall, leading to the white flag flying - allowing riders to pit and change for wet tyres at their discretion.
With eight laps to go the fight kicked off in earnest when Marquez snatched the lead at Turn 3, only for Lorenzo to stick it out around the outside and reclaim the advantage one turn later.
The pair traded blows again, including an excellent pass by Lorenzo at the final turn, but Marquez eventually settled matters when he dived through at Turn 3 and this time fended off Lorenzo's attempt to stay on the outside.
Unable to launch another attack, the Yamaha man then came under pressure from Pedrosa, who managed to pick him off two laps from the end.
It was too late to hunt down Marquez however, with the 20-year-old taking a fifth win - unmatched by any rookie in the history of the premier class – and extending his championship lead.
Valentino Rossi meanwhile claimed fourth after his own race-long battle with front-row man Alvaro Bautista, which like the lead battle included several changes of position.
With Crutchlow and Tech 3 stable-mate Bradley Smith exiting, Stefan Bradl came home a relatively quiet sixth.
Ducati duo Andrea Dovizioso and Nicky Hayden staged a repeat of their Indianapolis battle, although this time there was no final-corner clash as the Italian nicked seventh by just three tenths of a second.