Nico Terol led every lap at Estoril to take his third win in a row at the start of the 2011 125cc World Championship.
The Spaniard aced the start and was over a second clear before the end of the first lap, and his rivals had no answer.
The fireworks were provided by a race long battle for second. Home favourite Miguel Oliveira grabbed the advantage by sprinting past Sandro Cortese at the start but the German was back in front by the time they entered the corner next time around.
The Portuguese teenager began to drop down the order and it was Hector Faubel who took up the challenge. The second Aspar Aprilia was right on the tail of Cortese by half distance.
Faubel dived past into turn one on lap 12 but Cortese returned the favour three laps later. While they were swapping positions, an inspired Maverick ViÃ±ales, who started the race in 11th, was homing in on the back of them, bringing Johann Zarco and Jonas Folger with him.
With seven laps to go, the 16 year old had reduced the three second gap to nothing and on lap 19 produced a stunning overtaking manoeuvre, drafting past both Cortese and Faubel in one move.
Roles were reversed on the following lap as ViÃ±ales was shuffled back to fourth but just when it seemed the experienced heads would break away, Faubel crashed out at turn six.
The grounded Aprilia held up Vinales and Zarco, giving Cortese a cushion that he maintained to the chequered flag, but the battle for the final podium position raged on.
In the end, it went down to the final metre of the race, as ViÃ±ales dived out of Zarco's slipstream and crossed the line side by side with the Frenchman. The timing screen initially gave it to Zarco, and after a video review, the Avant–AirAsia–Ajo rider was confirmed in third, with Vinales missing out on his first podium finish by 0.002s.
Folger ended up a distant fifth while Efren Vazquez finished sixth ahead of the fading Oliveira. Luis Salom got the better of another photo finish with Adrian Martin for eighth, with Simone Grotzkyj completing the top ten for Phonica Racing.
Teammate Taylor Mackenzie was forced to watch the race from the sidelines after a shoulder injury sustained in qualifying but there was still positive news for British fans.
Despite being penalised for a jump start, Danny Kent stormed back through the field to take the final point for 15th, denying Danny Webb in the process. The Mahindra rider enjoyed a lengthy battle with Niklas Ajo and Harry Stafford but narrowly missed out on his first points in 2011.
Stafford also missed out on his first world championship points after taking a trip through the gravel, forcing him to retire five laps from the end.
Race Result: 23 Laps
|1||Nico Terol||Bankia Aspar Team||41:21.986||25|
|2||Sandro Cortese||Intact-Racing Team Germany||+3.671||20|
|5||Jonas Folger||Red Bull Ajo MotorSport||+12.140||11|
|7||Miguel Oliveira||AndalucÃa Banca Civica||+25.905||9|
|8||Luis Salom||RW Racing GP||+46.316||8|
|9||Adrian Martin||Bankia Aspar Team||+46.395||7|
|10||Simone Grotzkyj||Phonica Racing||+49.447||6|
|14||Niklas Ajo||TT Motion Events Racing||+1:11.738||2|
|15||Danny Kent||Red Bull Ajo MotorSport||+1:13.752||1|
|16||Danny Webb||Mahindra Racing||+1:15.357|
|17||Hiroki Ono||Caretta Technology||+1:18.155|
|18||Marcel Schrotter||Mahindra Racing||+1:27.900|
|19||Giulian Pedone||Phonica Racing||+1:32.623|
|20||Joan Perello||Matteoni Racing||+1:35.088|
|21||Luigi Morciano||Team Italia FMI||+1 Lap|
|22||Kevin Hanus||Team Hanusch||+1 Lap|
|23||Peter Sebestyen||Caretta Technology||+1 Lap|
|24||Sarath Kumar||WTR-Ten10 Racing||+2 Laps|
|Hector Faubel||Bankia Aspar Team||+4 Laps|
|Harry Stafford||Ongetta-Centro-Seta||+5 Laps|
|Jasper Iwema||Ongetta-Abbink-Metaal||+11 Laps|
|Francesco Mauriello||WTR-Ten10 Racing||+15 Laps|
|Louis Rossi||Matteoni Racing||+17 Laps|
|Alberto Moncayo||AndalucÃa Banca Civica||+19 Laps|
|Taylor Mackenzie||Phonica Racing||Non Starter|
|Alessandro Tonucci||Team Italia FMI||Non Starter|
Riders Championship (After Round 3: Portugal)
|1||Nico Terol||Bankia Aspar Team||3||75|
|2||Sandro Cortese||Intact-Racing Team Germany||50|
|3||Jonas Folger||Red Bull Ajo MotorSport||42|
|8||Danny Kent||Red Bull Ajo MotorSport||17|
|9||Luis Salom||RW Racing GP||16|
|10||Miguel Oliveira||AndalucÃa Banca Civica||15|
|12||Taylor Mackenzie||Phonica Racing||11|
|13||Adrian Martin||Bankia Aspar Team||11|
|15||Hector Faubel||Bankia Aspar Team||10|
|16||Alberto Moncayo||AndalucÃa Banca Civica||9|
|17||Hiroki Ono||Caretta Technology||8|
|18||Simone Grotzkyj||Phonica Racing||8|
|20||Marcel Schrotter||Mahindra Racing||3|
|21||Louis Rossi||Matteoni Racing||3|
|22||Niklas Ajo||TT Motion Events Racing||2|
|23||Josep Rodriguez||Wild Wolf-Racc-MS Caretta||1|