The 20-year-old passed reigning world champion Jorge Lorenzo with 10 laps remaining to move 39 points ahead of his compatriot with just four races left.
Seven-time world champion Valentino Rossi was third as he held off pressure from Alvaro Bautista and Stefan Bradl in a fantastic battle for a place on the podium.
However, it was a disastrous day for Marquez's Honda teammate Dani Pedrosa as he crashed out seconds after he and Marquez touched wheels to all but end his championship hopes.
"I braked as I saw I was touching him (Pedrosa) so I went wide. Maybe I touched a cable of his but I am very disappointed for Dani. It is very bad luck for him because it is very rare that this happens."
Pedrosa was furious after the incident and questioned Marquez’s on-track attitude.
“Marc came too aggressively, then braked and tried to avoid me, but hit my back wheel.”
He added: "There are riders who respect the rules of riding. You’re not alone out there; the track isn’t just for you."
Pedrosa appealed to his colleague to take a lesson from the incident, saying: “I had a bad experience in the past [in Portugal 2006 when he collided with his teammate Hayden] but I learned from it. No-one had to tell me anything.”
“It’s not ‘anything goes’. And if it is, we should all know so that we all would know to go that aggressively.”
Marquez reportedly sought out Pedrosa after hearing of his remarks and offered an apology, which was accepted.
As in many races this season it was Lorenzo who made the fastest start as he leapfrogged Marquez, who had started on pole, to move into the lead.
However, after losing some time as he ran wide in the collision with Pedrosa, Marquez was gaining on Lorenzo all the time and eventually made his move down the inside of the Yamaha rider with 10 laps remaining.
"I made an error as always at the start and that is something I have to improve on for the future races, but I only lost a second so I was able to be aggressive on the tyres and recover.
"It was a very tough race but in the end I'm delighted to get these very important points."
Lorenzo had pulled himself back into championship contention with back-to-back victories in Britain and San Marino heading into the race, but he admitted that after a shaky start Marquez had simply been the better man on the day.
"There are no excuses, Marc was faster than us and he was better," he said.
"I can only congratulate him and look forward to the next race."
With Marquez comfortably clear at the front, the real battle later in the race was for third, fourth and fifth position as Rossi, Bautista and Bradl continually changed position.
However, it was Rossi's experience that won out as the 34-year-old sealed his fourth podium finish of the season.
"It was a good race for me. I had to fight very hard at the end with Bradl and Bautista, but to be on the podium is always a good result."