Márquez sped away on his Honda to claim his home race after teammate Jorge Lorenzo went down on lap 2 and took Andrea Dovizioso, Valentino Rossi and Maverick Viñales with him.
Márquez increased his lead over Dovizioso to 37 points after four wins in seven races. It was also his 48th career win in the top category.
The five-time champion started from second on the grid behind polesitter Fabio Quartararo, who crossed the line second to secure his first podium finish. Danilo Petrucci was third.
Lorenzo, an ex-champion who is struggling in his first season with Honda, took full blame for the accident.
"You don't have any options if you brake a little bit too late, like happened with me. It was my fault, my mistake and I apologize," Lorenzo said. "It was really unfortunate to take out Dovi, Maverick and Valentino. It wasn't their fault, it was mine."
Álex Márquez, the younger brother of Marc Márquez, won the Moto2 race to take the lead of the points race after a third consecutive victory. Thomas Luthi was second and trails Márquez by seven points in the standings.
In Moto3, Marcos Ramírez won ahead of points leader Aron Canet. Celestino Vietti was third. The race featured several crashes, including one that took out six riders on lap 5.
Canet leads the standings by three points over Lorenzo Dalla Porta, who couldn't finish the race due to a mechanical problem.
More AP sports: https://apnews.com/apf-sports and https://twitter.com/AP_Sports
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.