Lewis Hamilton delivered a bold pass on Mercedes teammate Valtteri Bottas and drove off into the Portimao sun to win the Portuguese Grand Prix and increase his lead in the Formula One world title standings.
Hamilton started second but had to regain a spot lost to Red Bull's Max Verstappen and secured victory by sweeping round pole sitter Bottas on the 20th lap of 66 around the 4.684-kilometre Autodromo Internacional do Algarve on Sunday.
Verstappen then struggled behind Bottas until he overtook the Finn straight after mid-race pit stops but Hamilton had already built a gap substantial enough to earn a second win from three races this season and the 97th of his career.
Briton Hamilton now leads the championship on 69 points with Verstappen, who lost the fastest lap bonus point for leaving the track, eight points behind going into the Spanish Grand Prix on May 9.
"That was such a tough race, physically and mentally, keeping everything together," said Hamilton.
"There's a lot to download from today, improvements we can make. It wasn't all perfect so we will look at those points."
Bottas was under pressure after crashing out last time at Imola but made a clean start from pole and had six laps cruising behind the safety car caused by veteran Kimi Raikkonen inexplicably driving into the back of his Alfa Romeo teammate Antonio Giovinazzi.
The restart was also fine for Bottas but Verstappen jumped Hamilton only to lose the place following a lap 11 error.
Hamilton probed at Bottas but was not gifted the lead and swept around the outside with just enough room in a move which would likely have had the Mercedes garage holding its breath.
"I had to try and reposition myself best I could, I think Max made a mistake at some point and that was perfect," said Hamilton.
"With Valtteri I had to make the move early on before the tyres were destroyed and I just managed to get him at turn one."
As Verstappen was held up by Bottas, Hamilton produced a series of fastest laps and though he emerged from his lap 38 pit stop behind the Red Bull of Sergio Perez - who drove a massive 51-lap first stint - he was comfortable in the effective lead.
Perez had a big enough lead to the McLaren of Lando Norris in fifth to don soft tyres for his final sprint and chase the fastest lap to add to his fourth place.
He briefly held the bonus point only for Verstappen to seemingly steal this from Bottas on the last lap after both made late stops only for his time to be deleted for leaving the track.
"That's a bit odd because they were not checking track limits at Turn 14," said Verstappen. "Whatever."
Charles Leclerc was sixth for Ferrari while Alpine had their strongest race with Esteban Ocon seventh and Fernando Alonso eighth.
Daniel Ricciardo had a good day, taking his McLaren to ninth having started 16th following Saturday's disappointing qualifying performance.