Johann Zarco finally scored his maiden 125 win after a race-long duel with title rival Nicolas Terol at Motegi.
The Ajo Derbi rider finally broke a run which had seen him finish runner-up in six of the last eight races, including at Mugello and Misano where he also started on pole.
His win moves him to within 31 points of Terol in the 2011 championship, with a maximum 75 points still on offer from the final three races.
Motegi initially looked like it might be headed in a similar direction as Aspar's championship leader Nico Terol jumped Zarco at the start, before team-mate Hector Faubel also worked his way past to demote Zarco to third.
The Frenchman fought back however, and was second at the halfway stage as 0.3s covered the top three.
He kept the pressure up and, as Faubel was gradually dropped, made his move on the exit of Turn 1 on lap 13.
Terol tucked into his slipstream but on lap 15 made an uncharacteristic error that broke the gap between the duo, and also Terol's momentum. He brought the bike home in second to minimise the damage done by Zarco's victory, which eventually stretched past the 5s mark.
Faubel was very nearly caught at the finish by 16-year-old Blusens rider Maverick Vinales, who had to start from the pits after breaking his chain on his way to the grid.
Vinales simply scythed his way through the field, despatching rider after rider to eventually come home fourth and consolidate third place in the championship.
A four-way Aprilia battle for fifth was eventually won by Sandro Cortese (Germany Aprilia), with Jonas Folger (Ajo), Alberto Moncayo (Andalucia) and Adrian Martin (Aspar) all finishing within 1s.
Ajo Derbi's Efren Vazquez was also involved in the scrap but retired from the race with bike issues on lap eight.
Danny Kent (Ajo Aprilia) came through from 18th on the grid to finish ninth ahead of Alessandro Tonucci (Italia FMI Aprilia).
Results - 20 laps:
Pos Rider Team/Bike Time/Gap
1. Johann Zarco Ajo Derbi 39m49.968s
2. Nicolas Terol Aspar Aprilia + 5.900s
3. Hector Faubel Aspar Aprilia + 13.605s
4. Maverick Vinales Blusens Aprilia + 16.191s
5. Sandro Cortese Germany Aprilia + 23.422s
6. Jonas Folger Ajo Aprilia + 23.661s
7. Alberto Moncayo Andalucia Aprilia + 24.034s
8. Adrian Martin Aspar Aprilia + 24.171s
9. Danny Kent Ajo Aprilia + 49.118s
10. Alessandro Tonucci Italia FMI Aprilia + 51.393s
11. Jakub Kornfeil Ongetta Aprilia + 51.893s
12. Marcel Schrotter Mahindra + 1m01.043s
13. Jasper Iwema Ongetta Aprilia + 1m04.921s
14. Harry Stafford Ongetta Aprilia + 1m05.606s
15. Zulfahmi Khairuddin Ajo Derbi + 1m06.245s
16. Jack Miller Caretta KTM + 1m07.653s
17. Hikari Ookubo Garage Honda + 1m07.770s
18. Sturla Fagerhaug WTR-Ten10 Aprilia + 1m11.052s
19. Giulian Pedone Phonica Aprilia + 1m15.954s
20. Brad Binder Civica Aprilia + 1m16.277s
21. Shun'ya Mori Phonica Aprilia + 1m16.729s
22. Joan Perello Matteoni Aprilia + 1m17.514s
23. Luis Salom RW Aprilia + 1m40.618s
24. Takehiro Yamamoto Nobby Honda + 1m41.836s
25. Luca Fabrizio WTR-Ten10 Aprilia + 1 lap
Taylor Mackenzie Phonica Aprilia 17 laps
Alexis Masbou Caretta KTM 13 laps
Hyuga Watanabe Project u Honda 10 laps
Danny Webb Mahindra 9 laps
Efren Vazquez Ajo Derbi 8 laps
Niklas Ajo TT Motion Aprilia 1 lap
Luigi Morciano Italia FMI Aprilia 1 lap
Josep Rodriguez Blusens Aprilia 1 lap
Louis Rossi Matteoni Aprilia DNS
Jun Ohnishi Project u Honda DNS