The Yamaha rider passed early leader Joan Mir on the fourth lap and romped to a crucial first win of a so far difficult season, having failed to win a race since Silverstone last year.
Mir streaked away off the line from second on the grid to lead a race for the first time since his title-winning season in 2020, while Quartararo leaped from fifth to third.
Between the two champions was Pramac poleman Johann Zarco, but Quartararo took second into the Turn 3 right-hander as Mir pulled around six tenths clear at the front.
Quartararo was soon within striking distance, making his move into Turn 1 on the fourth tour having nailed his run out of the sweeping downhill final corner and taken profit of the Suzuki’s tow.
Joan Mir, Team Suzuki MotoGP
Photo by: Gold and Goose / Motorsport Images
The Frenchman finished in second place, having passed Mir on lap 17 and leaving the Suzuki man to fend off fourth-placed Jack Miller.
But the pair collided on lap 19, with Miller losing the front of his Ducati under braking and wiping out Mir.
Rins qualified in 23rd after making a strategy error in the wet-to-dry Q1 session, but rocketed to 11th on the opening lap and marched his way through the bottom half of the top 10 before finishing fourth.
Home hero Miguel Oliveira completed the top five on his factory KTM, with Marc Marquez beating his brother Alex Marquez by 0.020s across the line after the pair engaged in a heated battle for sixth in the closing stages.
The six-time world champion had a similarly tight battle with team-mate Pol Espargaro in the early stages, but came out on top, while the latter was shuffled back to ninth behind Francesco Bagnaia on the Ducati – the pair making contact on the final lap at Turn 9.
The top 10 was completed by Maverick Vinales on the sister Aprilia, with RNF Racing’s Andrea Dovizioso, VR46 Ducati rider Luca Marini, Yamaha’s Franco Morbidelli, Tech3 KTM rookie Remy Gardner and the sister VR46 bike of Marco Bezzecchi took the final points.
2022 MotoGP Portuguese GP: Race results