Charles Leclerc has held on to defeat Max Verstappen in an enthralling Austrian Grand Prix, moving back into second place in the Formula 1 drivers' championship.
The Ferrari driver had a nerve-wracking final 10 laps with a faulting throttle pedal which was affecting his pace.
Australian Daniel Ricciardo drove a solid race in his McLaren, finishing ninth, his third points finish of the season.
Mercedes driver Lewis Hamilton finished third while Sergio Perez and Carlos Sainz failed to finish.
Leclerc's victory is the first in his career when he has not started from pole position.
Starting from second, the Ferrari driver made his first overtake of Verstappen on lap 12.
Verstappen retook the lead twice following pit stops during the race, but was ultimately caught by Leclerc within a few laps each time.
The victory is Leclerc's first since April's Australian Grand Prix in Melbourne.
"I definitely needed that one," he said.
"The last five races have been incredibly difficult for myself and for the team.
"To finally show that we've got the pace in the car and that we can do it is incredible."
Ferrari looked set to finish first and second with Carlos Sainz closing in on Verstappen late in the race.
However, the Spaniard's car malfunctioned and went up in flames as he was preparing to make the move into second.
"There was no feedback from the engine that this was about to happen," Sainz said post-race.
"I'm lost for words because it's a big loss of points."
Ricciardo happy with points during 'tricky' race
Daniel Ricciardo finished in the top 10 for just the third time this season.
His ninth-place finish in Austria was a welcome result after a tough outing in Britain the previous weekend.
The Australian was not as quick as his teammate Lando Norris who managed seventh, but was able to battle into a points finish after starting from 12th.
The McLaren driver said the race was 'tricky' with consistent lap times hard to manage.
"Ultimately I think it was decent to get in the points," he said.
"We put up a solid race."