Marcus Ericsson won his first GP2 Series race of the season, and the third of his career, at the Nurburgring on Saturday afternoon.
Despite setting two pole positions this year, DAMS driver Ericsson had scored just one point in a race, but finally it all came good for him in Germany.
He won by 7.8 seconds over James Calado of ART.
Starting on the medium-compound tyre, Ericsson took the lead on the opening lap but the race was quickly neutralised by a safety car after Kevin Ceccon was launched into a roll after clipping Daniel Abt and Nat Berthon, and then piled into the back of the stalled Adrian Quaife-Hobbs. All were unhurt.
At the restart, Ericsson pulled well clear, leading by over 3s when he made his mandatory pitstop.
Team-mate Stephane Richelmi, who started from pole, lost his chance of second place when his front jackman fell over in his pitstop, and he slipped down the order behind Felipe Nasr, Calado and Robin Frijns.
Calado passed Nasr and closed to gap to Ericsson to 4s, but his tyres went off in the closing stages so he settled for second.
Nasr went backwards, tumbling down the lap chart to finish ninth as his decision to stop for new medium-compound tyres (having started on super-softs) at the first opportunity came back to bite him.
The battle for third was nothing short of sensational. Points leader Stefano Coletti claimed it after charging through from 13th on the grid.
He banged wheels with a very defensive Frijns at the chicane on the final lap, the two then making nose-to-tail contact at the last corner.
As Frijns lost momentum, allowing Coletti to escape for the final spot on the podium, Fabio Leimer and Richelmi also steamed past him. The quartet were covered by just two tenths at the finish line.
Jon Lancaster and Tom Dillmann finished seventh and eighth respectively, so Dillmann will take reversed-grid pole for Sunday's sprint race. His feature effort was compromised when he stalled after his pitstop.
Results - 32 laps: Pos Driver Team Time/Gap 1. Marcus Ericsson DAMS 1h00m16.988s 2. James Calado ART +7.860s 3. Stefano Coletti Rapax +14.915s 4. Fabio Leimer Racing Engineering +15.061s 5. Stephane Richelmi DAMS +15.119s 6. Robin Frijns Hilmer +15.272s 7. Jon Lancaster Hilmer +17.156s 8. Tom Dillmann Russian Time +17.823s 9. Felipe Nasr Carlin +24.265s 10. Johnny Cecotto Jr Arden +24.333s 11. Alexander Rossi Caterham +26.797s 12. Sergio Canamasas Caterham +27.221s 13. Sam Bird Russian Time +31.518s 14. Simon Trummer Rapax +31.592s 15. Daniel de Jong MP +33.904s 16. Mitch Evans Arden +34.142s 17. Nathanel Berthon Trident +36.142s 18. Rio Haryanto Addax +43.318s 19. Fabrizio Crestani Lazarus +45.117s 20. Rene Binder Lazarus +45.498s 21. Daniel Abt ART +58.723s 22. Julian Leal Racing Engineering +59.186s 23. Jake Rosenzweig Addax +1m08.725s 24. Jolyon Palmer Carlin +1m42.868s Retirements: Adrian Quaife-Hobbs MP 0 laps Kevin Ceccon Trident 0 laps