The race was Marquez's fifth win of the year and by taking the maximum points, opened up a 16-point gap on Ducati's Andrea Dovizioso - who finished in seventh, while title-contender Maverick Vinales also finished off-podium in fourth.
It was an all-Spanish affair on the podium, much to the delight of the home crowd in Aragon - as Marquez's Repsol Honda teammate Dani Pedrosa and Ducati's Jorge Lorenzo rounded out the top three.
Valentino Rossi valiantly rode to fifth - returning to racing only three weeks after breaking his leg in an off-road biking accident.
The race kicked off with Jorge Lorenzo getting the holeshot and jumping into the lead - as Rossi, Marquez and Dovizioso all got the jump on pole-sitter Maverick Vinales on the opening lap, establishing a clear front pack of four.
Rossi led the pursuit of Lorenzo in his returning race - while title-rivals Marc Marquez and Andrea Dovizioso duked it out in third and fourth, constantly shifting the World Championship standings on each lap.
Marquez made his move on Lap 12 when he finally found a way to make a move past Valentino Rossi - and could begin the chase for his fifth win of the season.
While Marquez made his push in the leading pack, his team-mate Dani Pedrosa was moving through the field in the second group - passing Vinales to climb to fifth and start to gain ground on Dovizioso at the tail of the front-runners.
As the laps ticked on, Lorenzo's lead started to shrink - within one lap it was half a second, two laps later it was under a tenth of a second.
Then on Lap 16, Marquez finally found his way into the lead - while his team-mate also found his way into a podium position by passing Rossi, who was starting to fall away from the pace.
Then the Honda's started to show their class - with Pedrosa eventually moving into second on Lap 21 and giving himself a chance to steal the race from his team-mate on home soil.
But his push was left too late - despite clocking faster times on the final two laps, he could not gain enough ground on Marquez and finished 0.6s off-pace.