Lewis Hamilton took his second win of the 2021 season after beating Red Bull's Max Verstappen and Mercedes teammate Valtteri Bottas to victory at the Portuguese Grand Prix.
Hamilton dropped as low as third place after being overtaken by Verstappen on lap seven following an early safety car, but fought his way back past the Red Bull and Bottas to secure the lead on lap 20.
Hamilton's move on Bottas was particularly impressive, taking his teammate around the outside of Turn 1 to secure a lead over his rivals, which he retained to secure victory 46 laps later.
Once in the lead, Hamilton managed to pulled an comfortable gap over Bottas, who then switched his attention to keeping Verstappen, in third place, at bay.
Bottas, who started the race on pole position, was able to keep the Red Bull behind until the single round of pit stops around lap 35, when Verstappen took the advantage by pitting first.
That gave Verstappen an extra lap to warm his new tyres, and when Bottas emerged from the pits one lap later and tyres struggling for temperature, Verstappen put him under pressure at Turn 3 and completed a passing move at Turn 5.
It was an instinctive move by Verstappen but came too late to challenge Hamilton, who pitted a lap later than Bottas and resumed the race comfortably ahead of the Red Bull.
Hamilton retained the lead once he passed Sergio Perez, who went much longer into the race before changing tyres and dropping to fourth place, where the Red Bull driver finished the race.
A battle for fastest lap emerged in the final few laps, with Perez claiming in first before Bottas and Verstappen also made late pit stops for soft tyres to try to win the single point on offer.
Verstappen emerged fastest on the final lap, but his lap time was deleted for exceeding track limits at Turn 14, meaning Bottas took the point on offer
Hamilton now has an eight-point lead in the drivers' championship ahead of Verstappen in second place.
Lando Norris took fifth place for McLaren ahead of the Ferrari of Charles Leclerc and the Alpine of Esteban Ocon.
Fernando Alonso completed an impressive comeback drive from 13th on the grid to take eighth at the finish, with a passing move on Carlos Sainz in the closing stages.
Sainz then lost two more positions, with Daniel Ricciardo securing ninth place for McLaren and Pierre Gasly taking the last point on offer in tenth.