Portimao: Fabio Quartararo won his second consecutive race when he took the Portuguese MotoGP at Portimao on Sunday, with six-time champion Marc Marquez seventh in his first race back after nine months out.
"I feel full confidence," said French Yamaha rider Quartararo, who started last season strongly only to fade out of contention.
Italian Francesco Bagnaia on a Ducati was second with Spanish world champion Joan Mir of Suzuki third.
Franco Morbidelli (Yamaha-SRT) and South African Brad Binder (KTM) completed the top five.
Marquez's seventh-placed finish came on his return after three bouts of surgery on the right arm he broke in the 2020 opener at Jerez.
He qualified in the second row and admitted on Saturday that he was "going to suffer" after such long time away from racing.
Quartararo's compatriot Johann Zarco (Ducati-Pramac), who had led the rider standings before Sunday's race, crashed out on lap 20 while challenging for the podium after leading the early stages of the race.
That allowed Quartararo to take a 15-point lead in the overall standings after three races.
Despite a poor start from pole position, Quartararo patiently climbed back up to take the lead on the ninth of the 25 laps.
He benefitted from the crash of his most threatening rival, Spain's Alex Rins (Suzuki), on lap 19, and steadily extended his lead to take the win by 4.809sec.
"Now we know what we need to work to feel fast. What pace. I was riding easy but still making a gap to Paco," said Quartararo, who turns 22 on Tuesday.
"It will be a great celebration for my birthday in two days."
Starting from 11th Bagnaia said his aim "was to finish in top five."
"I overtook a lot of riders," he said. "I'm very happy to be second."
Mir gained his first podium of the season.
"Really difficult race," he said. "So fast also so hot."
Spaniard Maverick Vinales (Yamaha), winner of the first race of the season in Qatar, was only 11th after a poor start.
Italian Valentino Rossi, who has been struggling since the beginning of the year and his arrival at Yamaha satellite team SRT from the Japanese factory team, also fell.
Spaniard Jorge Martin (Ducati-Pramac), who injured his right hand and ankle in a heavy crash on Saturday, missed the race and will undergo surgery in Barcelona.