Kevin Magnussen made up for the disappointment of his race one exclusion to take victory in the second Formula Renault 3.5 race at Paul Ricard.
The McLaren junior driver controlled the race from pole position, clearing off into the distance in the early laps before managing his lead at around five seconds from then on.
Behind him, Nico Muller came home as best of the rest, having taken advantage of an early pit stop to jump Marco Sorensen and Antonio Felix da Costa, both of whom had slightly slow stops.
Sorensen had run second early on, fending off da Costa after the Red Bull junior had got past Muller for third in the early corners. But the Dane lost out when his team struggled to change the left-rear wheel, and he rejoined fifth with Nigel Melker getting past him as well.
Sorensen launched a few attacks on Melker in the closing laps but could not find a way through, while ahead of them Muller had da Costa covered throughout the second stint of the race.
Sixth place went to 2010 champion Mikhail Aleshin, who used a clever strategy to find clear track and climb from 12th on the grid.
While Magnussen's exclusion from race one meant it was impossible for him to secure the title this weekend, a retirement for title rival Stoffel Vandoorne means he carries a 43-point lead to the Barcelona finale with 50 points still available.
Vandoorne had a race to forget, dropping from seventh to ninth at the start and eventually falling out of the points after a couple of offs at the chicane on the backstraight before he brought his troublesome car into the pits to retire.
Results - 25 laps:
Pos Driver Team Time/Gap
1. Kevin Magnussen DAMS 47m24.323s
2. Nico Muller Draco +5.550s
3. Antonio Felix da Costa Arden Caterham +9.964s
4. Nigel Melker Tech 1 +14.129s
5. Marco Sorensen Lotus +14.544s
6. Mikhail Aleshin Tech 1 +17.813s
7. Arthur Pic AV +23.004s
8. Will Buller Zeta +23.827s
9. Norman Nato DAMS +24.122s
10. Marlon Stockinger Lotus +29.962s
11. Andre Negrao Draco +35.846s
12. Nikolay Martsenko Pons +42.421s
13. Will Stevens P1/Strakka +43.676s
14. Jazeman Jaafar Carlin +44.536s
15. Zoel Amberg Pons +44.702s
16. Matias Laine P1/Strakka +48.679s
17. Lucas Foresti SMP/Comtec +48.807s
18. Carlos Huertas Carlin +50.738s
19. Christopher Zanella ISR +51.406s
20. Pietro Fantin Arden Caterham +52.117s
21. Daniil Move SMP/Comtec +52.665s
22. Oliver Webb Fortec +1m04.611s
Stoffel Vandoorne Fortec 21 laps
Sergey Sirotkin ISR 21 laps
Yann Cunha AV 3 laps
Carlos Sainz Jr Zeta 0 laps