Charles Leclerc overtook Max Verstappen twice but was forced to hold on amid engine issues as he took out the Austrian Grand Prix to close the gap in the Formula One standings.
The Ferrari driver won from Verstappen to claim 25 points and move within 38 of the reigning world champion.
Verstappen had started on pole position and held his lead early, but was passed by Leclerc on lap 12 with DRS assistance.
Leclerc pitted after Verstappen and came out behind him, but managed to overtake him for a second time on fresher tyres on lap 33.
However, the Monegasque young gun’s throttle jammed late in the race, but he held off Verstappen for his third win of the season and first since the Australian Grand Prix.
“The last five races have been incredibly difficult for myself but also for the team obviously, and to finally show that we’ve got the pace in the car and that we can do it is incredible, so we need to push until the end,” he said.
“It was a really good race. The pace was there, at the beginning and we had some good fights with Max.”
It was less of a positive afternoon for his Ferrari teammate Carlos Sainz whose power unit failed when pressing on Verstappen, with flames seen coming from his car but he managed to find safety.
Sainz was left frustrated, given Ferrari’s superior pace over Verstappen’s Red Bull.
“We were on for a very easy P2 and a one-two for the team, a very big result for the team, he said.
“But it looks to be the story of my season: as soon as we get a bit of momentum, there is something that goes wrong and its difficult to continue with it. This weekend, we were very quick and it should have been an easy one-two for the team.”
Lewis Hamilton finished third, claiming his third successive podium, but he remains sixth in the title race.
Verstappen’s Red Bull teammate Sergio Perez collided with Mercedes’ George Russell and was forced to retire, while the Briton went on to claim fourth.