With this win, Marquez extended his championship lead over to a comfortable 33 points - leaving Andrea Dovizioso with a lot of ground to make up with only two races remaining in the season.
Marquez was joined on the podium by the Yamaha duo of Valentino Rossi and Maverick Vinales - who narrowly finished ahead of rookie rider Johann Zarco, beating the young Frenchman by only 0.05s.
The race kicked off with a bang - as Marc Marquez got the hole shot off the line to take the lead into the opening corner, with Australian rider Jack Miller also making an impressive move to jump from fifth on the grid into second place at the first corner, to the delight of the home crowd.
Miller continued his charge when he easily passed Marquez to take the lead on the opening lap of his home Grand Prix - bringing the crowd to their feet as he roared down Gardner Straight at the front of the pack.
While Marquez was engaged in a battle for the lead, his title rival Andrea Dovizioso was stuck in 16th - and fighting for position with Marquez’s Repsol Honda team-mate Dani Pedrosa, who jockeyed for position with the Ducati man for the entire race.
On Lap 5, the Yamaha duo of Valentino Rossi and Maverick Vinales made easy work of Jack Miller down the straight and found their way into the lead, with Rossi taking the front - while a clear pack of eight riders began to emerge as the front group.
Behind the Yamaha’s and Miller was Marquez, who was pressured by Johann Zarco - while last year’s winner Cal Crutchlow and the Suzuki duo of Andrea Iannone and Alex Rins brought up the rear of the pack.
Johann Zarco then made his move past Marquez when the Spaniard ran wide and opened the gap for the rookie - who then grabbed the lead when Rossi made a similar error and ran wide.
As the laps ticked on, nothing could separate the front eight - as only 1.1s separated them with ten laps remaining, with the Yamaha pair of Rossi and Vinales leading the pursuit of Zarco in the lead.
The three Yamaha’s duked it out at the front and traded control of the lead, while Marquez loomed behind - and with seven laps remaining, the Championship leader made his push and took the lead again for the first time since the opening lap.
From here, there was no looking back for Marquez - as a 0.2s lead after one lap quickly turned into a much bigger gap, with the Honda rider eventually crossing the chequered flag 1.8s ahead of the dueling Yamaha’s behind him.
It was Rossi who crossed second, as he led the pack heading into the final lap - while Vinales only made his way past Zarco on the final straight to finish on the podium. Cal Crutchlow was next to cross the line in fifth, edging out Suzuki’s Andrea Iannone by 0.03s in a dash for the line, while Aussie Jack Miller finished in seventh.
Alex Rins brought up the back of the front eight, while the KTM Red Bull pair of Pol Espargaro and Bradley Smith rounded out the Top 10.