Yuki Takahashi benefited from a ride-through penalty for long-time leader Andrea Iannone to take his and the Tech 3 team's maiden Moto2 victory at the Catalan Grand Prix at Barcelona.
The Japanese rider ran third on the opening lap as Thomas Luthi and Toni Elias fought for the lead initially and pole-sitter Iannone dropped to fourth.
Behind them though, a first corner collision triggered by Alex Debon's Ajo-run FTR knocked off seven riders, including championship challenger Shoya Tomizawa and Mike di Meglio.
As the leaders approached the scene on the second lap, yellow flags were being waved, but Iannone still overtook Takahashi for third - a move that would come back to haunt him later on.
Initially Iannone was instructed by race control, and by the Fimco Speed Up team, to hand back the position to Takahashi, who had made his way back up to second after dropping as low as fourth early on.
However, he did not, leading officials to hand him a ride-through penalty, which he took while four seconds in front on lap 15, dropping him outside the points.
This left Takahashi in a comfortable lead and he duly rounded off the remaining eight laps to seal his first grand prix win in any class for four years by 5.037 seconds.
Behind him Luthi and Julian Simon had a terrific scrap for second that went in favour of the Interwetten Moriwaki rider. Luthi and Aspar Suter rider Simon now lie second and third in the championship.
Karel Abraham took his best finish in grand prix racing with fourth place on his Cardion FTR, the Czech rider battling for the second half of the race with Simone Corsi and Toni Elias, but breaking clear of the pair with a couple of laps left.
Elias (Gresini Moriwaki) dived inside Corsi's JiR Motobi at La Caixa on the final lap to steal fifth and keep his championship lead intact, even if Luthi's result allowed him to reduce the Spaniard's advantage from 24 points to 17.
Kenny Noyes equalled his best finish in Moto2 with seventh on his Jack & Jones Promo Harris, but came under a lot of late pressure from grand prix debutant Carmelo Morales late on.
Morales was the victim of an horrific accident on the run to the finish line after the front tyre on his Pons Kalex bike briefly touched Noyes's rear. The touch launched Morales and bike into the air, the rider being hit twice by his machine, which then flew into the catch-fencing opposite the finish line.
An initial message from race officials indicated that Morales was: "deemed to be okay by the medical centre, but remaining under observation."
A rule that mandates that a rider must be on his bike to appear in the race results meant that despite crossing the line, the Spaniard was not classified.
The remaining top 10 places therefore went to Fonsi Nieto (Holiday Gym Moriwaki), Anthony West (MZ) and Alex de Angelis (Scot), who moves up to MotoGP for the next race in Germany. Iannone recovered to 13th place following his penalty.
Pos Rider Bike Time/Gap
1. Yuki Takahashi Tech 3 41m42.451s
2. Thomas Luthi Moriwaki + 5.037s
3. Julian Simon Suter + 5.200s
4. Karel Abraham FTR + 6.706s
5. Toni Elias Moriwaki + 7.369s
6. Simone Corsi Motobi + 7.414s
7. Kenny Noyes Promo Harris + 17.010s
8. Fonsi Nieto Moriwaki + 20.555s
9. Anthony West MZ + 21.001s
10. Alex de Angelis Force + 21.369s
11. Gabor Talmacsi Speed Up + 22.213s
12. Yonny Hernandez BQR + 23.024s
13. Andrea Iannone Speed Up + 25.297s
14. Jules Cluzel Suter + 26.674s
15. Yusuke Teshima Motobi + 26.796s
16. Raffaele De Rosa Tech 3 + 27.441s
17. Arne Tode Suter + 27.674s
18. Vladimir Ivanov Moriwaki + 35.193s
19. Jordi Torres Promo Harris + 37.424s
20. Valentin Debise ADV + 41.504s
21. Joan Olive Promo Harris + 41.710s
22. Claudio Corti Suter + 41.966s
23. Ricard Cardus Suter + 49.224s
24. Xavier Simeon Moriwaki + 1m03.470s
25. Sergio Gadea Pons Kalex + 1m12.814s
26. Mashel Al Naimi BQR + 1m22.796s
Carmelo Morales Pons Kalex 22 laps
Bernat Martinez Bimota 20 laps
Alex Baldolini ICP 19 laps
Scott Redding Suter 12 laps
Ratthapark Wilairot Bimota 9 laps
Dani Rivas Promo Harris 4 laps
Shoya Tomizawa Suter 4 laps
Niccolo Canepa Force 3 laps
Lukas Pesek Moriwaki 3 laps
Vladimir Leonov Suter 1 lap
Dominique Aegerter Suter 1 lap
Hector Faubel Suter 1 lap
Robertino Pietri Suter 0 laps
Roberto Rolfo Suter 0 laps
Alex Debon FTR 0 laps
Mike di Meglio Suter 0 laps