Nico Terol continued his absolute domination of the 2011 125cc world championship with a crushing Portuguese Grand Prix win.
The Aspar Aprilia rider was in a league of his own again as he swept to his third win in three races. By lap five he was already six seconds clear of the field and calmly protected that advantage for the rest of the distance.
The battle for second - which initially involved nine riders - provided much more entertainment.
In the middle of the race, Terol's experienced team-mate Hector Faubel and Team Germany's Sandro Cortese broke away and made it a private tussle, but they were later reeled in by Maverick Vinales and Johann Zarco - with teenage rookie Vinales surging from fourth to second in a single move at one point.
Pushing hard to fend off Vinales, Faubel crashed out of third in the closing stages, slightly delaying Vinales and allowing Cortese to get a small cushion in second place. Zarco then managed to get past Vinales on the final dash to the line, taking the last podium spot by just 0.002 seconds.
Jonas Folger was a relatively lonely fifth ahead of Efren Vazquez and local favourite Miguel Oliveira.
Results - 23 laps: Pos Rider Team/Bike Time/Gap 1. Nicolas Terol Aspar Aprilia 41m21.986s 2. Sandro Cortese Germany Aprilia + 3.671s 3. Johann Zarco Ajo Derbi + 4.466s 4. Maverick Viñales Blusens Aprilia + 4.468s 5. Jonas Folger Ajo Aprilia + 12.140s 6. Efren Vazquez Ajo Derbi + 20.304s 7. Miguel Oliveira Andalucia Aprilia + 25.905s 8. Luis Salom RW Aprilia + 46.316s 9. Adrian Martin Aspar Aprilia + 46.395s 10. Simone Grotzkyj Phonica Aprilia + 49.447s 11. Zulfahmi Khairuddin Ajo Derbi + 51.071s 12. Sergio Gadea Blusens Aprilia + 1m00.365s 13. Jakub Kornfeil Ongetta Aprilia + 1m00.479s 14. Niklas Ajo TT Motion Aprilia + 1m11.738s 15. Danny Kent Ajo Aprilia + 1m13.752s 16. Danny Webb Mahindra + 1m15.357s 17. Hiroki Ono Caretta KTM + 1m18.155s 18. Marcel Schrotter Mahindra + 1m27.900s 19. Giulian Pedone Phonica Aprilia + 1m32.623s 20. Joan Perello Matteoni Aprilia + 1m35.088s 21. Luigi Morciano Italia Aprilia + 1 lap 22. Kevin Hanus Hanusch Honda + 1 lap 23. Peter Sebestyen Caretta KTM + 1 lap 24. Sarath Kumar WTR-Ten10 Aprilia + 2 laps Retirements: Hector Faubel Aspar Aprilia 19 laps Harry Stafford Ongetta Aprilia 18 laps Jasper Iwema Ongetta Aprilia 12 laps Francesco Mauriello WTR-Ten10 Aprilia 8 laps Louis Rossi Matteoni Aprilia 6 laps Alberto Moncayo Andalucia Aprilia 4 laps