Nico Terol denied Johann Zarco a maiden 125cc race victory yet again as the championship leader bested his title rival by 0.022se at the line at Misano.
Poleman Zarco had fallen to fifth on the opening lap after some close calls at the first corner, but soon fought back through to join Terol in a two-bike breakaway. They swapped places a few times going into the final half-dozen laps, but it was on the very last tour that the battle really erupted, as Ajo Derbi rider Zarco slipped ahead of Terol's Aspar Aprilia into Turn 4.
Zarco then ran slightly wide at Turn 13, with Terol diving inside into the next corner. However Zarco was able to hang on around the outside and appeared to be far enough ahead as they charged into the final corner, only for Terol to get a better run onto the straight and edge back past as they took the flag.
Terol's seventh win of the year extends his championship lead over Zarco to 31 points with five races to go.
Zarco's teammate Efren Vazquez stayed with the top two for a while before slipping away to take a lonely third.
Sandro Cortese won a big battle for fourth that also featured Hector Faubel, Danny Kent (who had briefly been second after a mighty start), slow-starter Maverick Vinales and Sergio Gadea.
Wildcard rider Miroslav Popov could not maintain the spectacular form that saw him qualify sixth, and could only finish 13th after losing ground off the line.
Results - 23 laps:
Pos Rider Team/Bike Time/Gap
1. Nicolas Terol Aspar Aprilia 40m02.164s
2. Johann Zarco Ajo Derbi + 0.022s
3. Efren Vazquez Ajo Derbi + 4.932s
4. Sandro Cortese Germany Aprilia + 9.322s
5. Hector Faubel Aspar Aprilia + 9.964s
6. Danny Kent Ajo Aprilia + 12.100s
7. Maverick Vinales Blusens Aprilia + 12.324s
8. Sergio Gadea Blusens Aprilia + 12.556s
9. Jonas Folger Ajo Aprilia + 21.489s
10. Miguel Oliveira Andalucia Aprilia + 30.678s
11. Alberto Moncayo Andalucia Aprilia + 31.321s
12. Jakub Kornfeil Ongetta Aprilia + 31.552s
13. Miroslav Popov Ellegi Aprilia + 32.637s
14. Luigi Morciano Italia FMI Aprilia + 52.542s
15. Marcel Schrotter Mahindra + 53.850s
16. Kevin Calia MGP Aprilia + 53.917s
17. Alessandro Tonucci Italia FMI Aprilia + 58.742s
18. Manuel Tatasciore Phonica Aprilia + 1m03.723s
19. Alessandro Giorgi VFT Aprilia + 1m04.113s
20. Alexis Masbou Caretta KTM + 1m04.956s
21. Danny Webb Mahindra + 1m08.795s
22. Taylor Mackenzie Phonica Aprilia + 1m08.846s
23. Giulian Pedone Phonica Aprilia + 1m17.719s
24. Jack Miller Caretta KTM + 1m18.752s
25. Joan Perello Matteoni Aprilia + 1m36.950s
26. Adrian Martin Aspar Aprilia + 2 laps
27. Zulfahmi Khairuddin Ajo Derbi + 3 laps
Sturla Fagerhaug WTR-Ten10 Aprilia 17 laps
Jasper Iwema Ongetta Aprilia 10 laps
Massimo Parziani Faenza Aprilia 10 laps
Luis Salom RW Aprilia 7 laps
Francesco Mauriello WTR-Ten10 Aprilia 3 laps
Harry Stafford Ongetta Aprilia 0 laps
Louis Rossi Matteoni Aprilia 0 laps