Reigning 250cc world champion Marco Simoncelli took a thrilling victory in the Czech Grand Prix after a race-long battle with Mattia Pasini.
The two Italians exchanged position for the lead several times during the second half of the race but in the end it was the Gilera rider who took his third win of the season, setting the fastest lap of the race on the last lap as well.
On several occasions Pasini took the lead in to Turn 1, only for Simoncelli to regain it at Turn 3. Having tried the same manouvre on the penultimate lap, only to be thwarted again, Pasini waited until the third corner on the final lap but simply wasn't close enough to make a move.
The pair looked for a while as if they might be joined by title contender Alvaro Bautista, but the Spaniard had a big wobble in the Esses with five laps to go and settled for third in the end.
He was lucky to escape uninjured however after crashing spectacularly on the slowing down lap while performing a wheelie for the crowd.
Fourth was a distant Hiroshi Aoyama. The championship leader was in the mix for the lead in the early stages before getting embroiled in a fight for third with Bautista, Mike di Meglio and Hector Barbera.
Di Meglio clipped the rear tyre of the Japanese rider while trying to take fourth and the Scot Honda never seemed quite as quick after that. The Frenchman ran off the track but recovered to ninth.
Veteran Roberto Locatelli brought the sister Gilera home fifth after leading in the early stages - the first time the Italian had done so since 2006.
Raffale de Rosa took sixth position ahead of a fading Barbera, with Jule Cluzel, di Meglio and Hector Faubel completing the top ten.
The only other major incident was a crash between Karel Abraham and Thomas Luthi at the first corner - both riders emerging uninjured.
Pos Driver Bike Time/Gap
1. Marco Simoncelli Gilera 41m06.490s
2. Mattia Pasini Aprilia +0.684s
3. Alvaro Bautista Aprilia +4.381s
4. Hiroshi Aoyama Honda +8.746s
5. Roberto Locatelli Gilera +9.721s
6. Raffaele De Rosa Honda +10.870s
7. Hector Barbera Aprilia +15.639s
8. Jules Cluzel Aprilia +18.411s
9. Mike di Meglio Aprilia +18.563s
10. Hector Faubel Honda +19.958s
11. Rutthapark Wilairot Honda +20.084s
12. Lukas Pesek Aprilia +30.632s
13. Shoya Tomizawa Honda +37.118s
14. Balazs Nemeth Aprilia +1m17.484s
15. Valentin Debise Honda +1m24.684s
16. Axel Pons Aprilia +1m25.132s
17. Imre Toth Aprilia +1m46.925s
18. Aitor Rodriguez Aprilia +1m52.465s
19. Vladimir Leonov Aprilia +1m59.794s
Bastien Chesaux Honda 12 laps
Alex Debon Aprilia 9 laps
Alex Baldolini Aprilia 6 laps
Toby Markham Aprilia 1 lap
Karel Abraham Aprilia 0 laps
Thomas Luthi Aprilia 0 laps