Suzuki Ecstar rider Rins took the lead from Maverick Vinales with 16 laps remaining and fended off a brilliant charge from Alex Marquez – who also finished second in France last time out – to clinch his first win of the season.
Marquez was right on the wheel of Rins heading into the last three laps, but a wobble on the final corner handed Rins the chance to race away.
Rins' team-mate Joan Mir claimed the remaining podium place, overtaking Quartararo at the top of the championship standings in the process.
Quartararo mounted an amazing comeback in qualifying after he went down on his hip, returning to take a second successive pole ahead of Vinales.
Yet the Frenchman, who had won all three races in Spain in 2020, swiftly found himself down in seventh as his Petronas Yamaha struggled for grip, and he could only watch on as Rins and fellow title contender Mir did the damage ahead before he slipped even further down the standings in a remarkable fall from grace.
Rins made his move early, powering ahead of Vinales to take a lead he did not relinquish, and a Suzuki one-two looked likely when Mir moved second.
Rookie driver Marquez, however, had other ideas, and showed qualities his older brother Marc will surely be proud of as he produced a stunning charge.
Holding a 2.2-second lead over Vinales heading into the final six laps, Marquez sliced through Mir's line on the final turn.
A late push for victory looked on for the 24-year-old, only for a skid and a wide turn going into the penultimate lap to cost him the chance of a maiden MotoGP™ triumph.
With Vinales finishing fourth and Andrea Dovizioso taking seventh, just 15 points separate the four title contenders entering the final races of 2020.
- Alex Rins (Suzuki Ecstar)
- Alex Marquez (Repsol Honda) +0.263s
- Joan Mir (Suzuki Ecstar) +2.644s
- Maverick Vinales (Monster Energy Yamaha) +3.911s
- Takaaki Nakagimi (LCR Honda) +4.570s
- Franco Morbidelli (Petronas Yamaha) +4.756s
- Andrea Dovizioso (Ducati) +8.639s
- Cal Crutchlow (LCR Honda) +8.913s
- Jack Miller (Pramac Racing) +9.390s
- Johann Zarco (Esponsorama Racing) +9.617s
- Joan Mir (Suzuki Ecstar) 121
- Fabio Quartararo (Petronas Yamaha) 115
- Maverick Vinales (Monster Energy Yamaha) 109
- Andrea Dovizioso (Ducati) 106
- Takaaki Nakagami (LCR Honda) 92
- Suzuki Ecstar 206
- Petronas Yamaha 202
- Ducati 171
- Monster Energy Yamaha 167
- Red Bull KTM Factory Racing 144
The convoy remains at MotorLand for a second Aragon round next time out, 23-25 October, as the season heads into the final stretch.