Jules Bianchi came out on top in a thrilling scrap with Christian Vietoris to take his first GP2 win of the season at Silverstone.
ART driver Bianchi cruised into a comfortable lead once the race got underway in wet conditions after three laps behind the safety car.
His lead was over seven seconds when the pitstops got underway, with drivers coming in to change onto slick tyres as the track dried rapidly.
Bianchi was one of the last to pit, and that meant that Racing Engineering's Vietoris - who had passed Alvaro Parente (Carlin) for second before the stops - was right on the Frenchman's gearbox as he rejoined.
After one lap spent all over the back of Bianchi, Vietoris took the lead on the exit of Luffield. However, it was short-lived as Bianchi re-took the place with a bold move into Copse.
The pair repeated their wheel-to-wheel antics later in the same lap, with Vietoris taking the lead around the outside into Stowe, only for Bianchi to lunge up the inside to regain it on the brakes for the following corner.
After that breathtaking lap the pair ran in tandem, and a handful of laps later Bianchi had the lead out to over a second. He eased away from there, before slowing towards the end on his way to victory.
Vietoris was struggling for pace by the end, meaning he finished just ahead of iSport's Marcus Ericsson and championship leader Romain Grosjean (DAMS). Ericsson had been fifth early in the race, but he reaped the rewards for being the first driver to switch to slicks.
Grosjean picked his way through from 13th to take fourth, while Sam Bird (iSport) overcame an off at Copse just before his stop to take fifth place. Dani Clos had to settle for sixth in the second Racing Engineering car after losing out to the charging Briton just six laps from home.
Stefano Coletti benefited from pitting on the same lap as Ericsson as he charged from 21st to seventh, while title hopeful Giedo van der Garde (Addax) just held off a recovering Parente to take eighth and pole position for race two.
Results - 29 laps: Pos Driver Team Time/Gap 1. Jules Bianchi ART 58m40.010s 2. Christian Vietoris Racing Engineering + 4.177s 3. Marcus Ericsson iSport + 4.935s 4. Romain Grosjean DAMS + 5.627s 5. Sam Bird iSport + 11.424s 6. Dani Clos Racing Engineering + 23.293s 7. Stefano Coletti Trident + 31.959s 8. Giedo van der Garde Addax + 33.711s 9. Alvaro Parente Carlin + 34.394s 10. Jolyon Palmer Arden + 41.163s 11. Esteban Gutierrez ART + 41.761s 12. Charles Pic Addax + 41.971s 13. Johnny Cecotto Ocean + 46.881s 14. Luca Filippi Super Nova + 47.848s 15. Davide Valsecchi AirAsia + 49.612s 16. Fabio Leimer Rapax + 50.717s 17. Pal Varhaug DAMS + 56.960s 18. Luiz Razia AirAsia + 58.332s 19. Rodolfo Gonzalez Trident + 1m05.327s 20. Kevin Ceccon Coloni + 1m06.251s 21. Fairuz Fauzy Super Nova + 1m20.989s 22. Julian Leal Rapax + 1m26.252s 23. Josef Kral Arden + 1m33.465s 24. Michael Herck Coloni + 1 lap Retirements: Max Chilton Carlin 14 laps