Red Bull's Max Verstappen passed Charles Leclerc with two laps remaining to win a thrilling Austrian Grand Prix.
The win was only confirmed three hours after the race finished following an investigation into whether Verstappen unfairly ran Leclerc off the track.
Ferrari's Leclerc seemed in control of the race after Verstappen made a bad start to drop from second to seventh.
But Red Bull pitted Verstappen 10 laps later than Leclerc and Verstappen fought up from fourth to take the win.
- Hard racing or unfair? Verstappen highlights F1's dilemma
- Listen to the decisive overtake: 'It's a little bit naughty from Verstappen'
- Austrian Grand Prix race results
- Chequered Flag podcast: What is fair racing?
It was a sensational drive from Verstappen, making superb use of fresher tyres than the cars in front of him, but the move with which he took the lead was controversial.
Leclerc had already fought off one pass by Verstappen on the previous lap, when the Red Bull got inside the Ferrari at Turn Three but Leclerc held on around the outside and out-accelerated him up to Turn Four.
But on the next lap, with two to go, Verstappen again dived up the inside, and this time he ran Leclerc off the road on the exit.
On the incident with Leclerc, he said: "It's hard racing or we have to stay home. If those things are not allowed in racing then we have to stay home."
Leclerc said: "The race was good. At the end I had a bit more [tyre] degradation than I thought so Max came back.
"On the incident, I will let the stewards decide. I was on the outside, like the lap before - which was perfectly fine, he left a car space - but he didn't on that lap and he pushed me wide so I didn't have the chance to fight back. It's a shame."
After both drivers were called before the stewards, the FIA, after lengthy deliberation, confirmed the result would stand.
A statement read: "In the totality of the circumstances, we did not consider that either driver was wholly or predominantly to blame for the incident. We consider that this is a racing incident."
It brings to an end Mercedes' run of eight consecutive wins this season - a run that actually stretches back two races further, to last year's Brazilian Grand Prix.
Another inquiry over a race win
The incident comes just two races after Ferrari's Sebastian Vettel lost victory in the Canadian Grand Prix after being found guilty of dangerous driving against Mercedes' Lewis Hamilton.
That caused a huge controversy - and this will inevitably do the same.
The two incidents were not the same - Vettel was rejoining after going off the track, while Verstappen was passing for the lead.
But what Verstappen viewed as "hard racing", others will judge as forcing a rival off the track.
There will also be questions as to whether, with his pace advantage, Verstappen needed to pass in such style, and whether he might not have been better advised to avoid the risk of an inquiry and give Leclerc more space.
Immediately after the incident, Verstappen had gone on to the radio to say: "He turned into me." And was told by his engineer Gianpiero Lambiase: "There was nothing wrong with that, mate."
Leclerc said to his team: "What the hell was that?"
A stunning drive
Verstappen's was a superb drive, one that delivered engine manufacturer Honda its first grand prix win since Jenson Button's victory in Hungary in 2006.
His race looked lost when he dropped back at the start - because his anti-stall kicked in for reasons Red Bull said they could not explain - but he wasted no time in making up lost ground.
By lap nine, he had passed McLaren's Lando Norris and Alfa Romeo's Kimi Raikkonen to move into fifth place, behind Leclerc, the two Mercedes of Valtteri Bottas and Hamilton, and Vettel.
Vettel and Bottas stopped first, on lap 21, followed by Leclerc on lap 22, leaving Hamilton and Verstappen out on medium tyres intending to run long to give themselves a tyre advantage in the later stages.
But Hamilton wrecked his chances by damaging his front wing, requiring it to be changed when he stopped on lap 30, and when Verstappen stopped a lap later, he rejoined 3.5secs behind Vettel, who lost time a slow stop when Ferrari did not have the tyres ready. Bottas was five seconds further up the road, and Leclerc four seconds ahead of him.
Verstappen drove carefully to protect his tyres early started to pile on the pressure, first catching Vettel before passing him on lap 50, then dispatching Bottas on lap 56 before chasing after Leclerc.
Mercedes were also battling overheating issues in the high temperatures, which forced them to temper their pace to protect the engine.
Questions for Ferrari
The question that will be addressed to Ferrari was why they stopped Leclerc as early as they did.
Although he started the race on soft tyres, which were always going to run out of grip before the mediums on the Mercedes and Verstappen's Red Bull, he appeared to have good pace when he made his pit stop.
Could Ferrari have afforded to leave him out longer to protect against both Hamilton and Verstappen?
But team boss Mattia Binotto said they had to react to Bottas' stop - and that would have been the case whichever tyres he had been on, and that he still believed the softs were the right call.
Behind the controversy
Bottas drove a steady race to take third - but may face criticism for ceding the lead to Verstappen too easily. While Vettel made a second stop after being passed by Verstappen and caught and passed Hamilton before the end to take fourth.
Lando Norris drove superbly in the McLaren to be best of the rest in sixth, holding off the Red Bull of Pierre Gasly for much of the way.
Carlos Sainz made it a good day for McLaren with an excellent drive from the back of the grid as a result of engine penalties to take eighth, ahead of the Alfa Romeos of Raikkonen and Antonio Giovinazzi.
Driver of the day
The British Grand Prix. About 140,000 fans are expected to descend on Silverstone for what could be the last race there, given the state of contract negotiations.
Mercedes will start as favourites but Ferrari's engine power could bring them into play. And Red Bull have also made a step forward this weekend. The complexion of the season has just changed.