Alex Rins snatched a thrilling British Grand Prix victory from Marc Marquez after Andrea Dovizioso and Fabio Quartararo were involved in a huge first-lap crash at Silverstone.
Marquez looked set to hold off Rins and win the race for the first time since 2014 but was denied by his fellow Spaniard in a dramatic finish.
Suzuki Ecstar rider Rins nipped in on the inside of Marquez on the final corner and pipped the championship leader by a margin of 0.013 seconds to take his second win of the MotoGP™ season.
Dovizioso's last-ditch move prevented Marquez, who was battling wearing tyres, from taking the top step of the podium in Austria last time out and the five-time champion failed to see it out again following a stunning late twist.
Rins pushed the Repsol Honda pole-sitter all the way and was rewarded when he made one last move and exited Luffield expertly to pull off a sweet victory.
An elated Rins said: "Two laps to the end I thought it was the last lap and that's why I overtook Marc on the straight. In the last corner I was unbelievable, so much faster than him. And I did it."
Maverick Vinales worked his way through the field to take third spot ahead of team-mate Valentino Rossi, who started in second.
Marquez was able to increase his championship lead to 78 points as Dovizioso was taken to hospital after suffering a severe blow to the head when he collided with Quartararo's bike after the Frenchman crashed in a nightmare start.
Dovizioso's Ducati caught fire as his hopes of back-to-back victories evaporated, with Quartararo also looking shell-shocked after rising from the gravel.
1. Alex Rins (Suzuki Ecstar)
2. Marc Marquez (Repsol Honda) +0.013secs
3. Maverick Vinales (Monster Energy Yamaha) +.0.620s
4. Valentino Rossi (Monster Energy Yamaha) +11.439s
5. Franco Morbidelli (Petronas Yamaha) +13.109s
6. Cal Crutchlow (LCR Honda Castrol) +19.169s
7. Danilo Petrucci (Ducati) +19.682s
8. Jack Miller (Pramac Racing) +20.318s
9. Pol Espargaro (Red Bull KTM Factory Racing) +21.079s
10. Andrea Iannone (Aprilia) +25.144s
1. Marc Marquez (Repsol Honda) 250
2. Andrea Dovizioso (Ducati) 172 (-78)
3. Alex Rins (Suzuki Ecstar) 149 (-101)
4. Danilo Petrucci (Ducati) 145 (-105)
5. Maverick Vinales (Monster Energy Yamaha) 118 (-132)
1. Ducati 317
2. Repsol Honda 281 (-36)
3. Monster Energy Yamaha 234 (-83)
4. Suzuki Ecstar 192 (-125)
5. Petronas Yamaha 161 (-156)