Jules Bianchi took the lead in the Formula Renault 3.5 title fight with victory in race two at Paul Ricard.
The Ferrari junior driver came out on top after a race-long duel with race one winner Antonio Felix da Costa in damp conditions, while previous championship leader Robin Frijns struggled to ninth place.
Bianchi led the early laps of the race from pole, but a mistake on lap five allowed da Costa, who had started seventh, to take the lead.
That is how it stayed until the mandatory pitstops, when Bianchi came in a lap earlier than the Red Bull-backed racer and took the lead as da Costa accelerated away from his own stop.
From there Bianchi was able to control the race, managing a lead of around three to four seconds to the chequered flag.
Da Costa was a comfortable second, while Sam Bird gave his own title hopes a boost heading into next month's Barcelona finale with a podium finish.
Nick Yelloly put his wet weather skills to good use again to climb from ninth to fourth, as the likes of Kevin Magnussen, Alexander Rossi and Arthur Pic either spun or got caught up in incidents.
Despite all those top 10 starters hitting trouble, Frijns could still only salvage two points from his second tough race of the weekend.
The Dutchman climbed from eighth to fourth at the start, but he gradually slipped down the order. He fought hard over the final couple of laps to keep Kevin Korjus at bay, but lost out to the Estonian on the final lap.
Bianchi's win means he heads to the Barcelona double-header with a five-point lead over Frijns. Bird is 24 points behind the Frenchman, with 50 still available.
Results - 21 laps: Pos Driver Team Time/Gap 1. Jules Bianchi Tech 1 46m48.147s 2. Antonio Felix da Costa Arden Caterham + 5.046s 3. Sam Bird ISR + 20.979s 4. Nick Yelloly Comtec + 28.811s 5. Marco Sorensen Lotus + 33.743s 6. Aaro Vainio RFR + 34.130s 7. Nico Muller Draco + 40.480s 8. Kevin Korjus Lotus + 45.436s 9. Robin Frijns Fortec + 48.660s 10. Lucas Foresti DAMS + 51.703s 11. Will Stevens Carlin + 58.890s 12. Walter Grubmuller P1 + 1m01.309s 13. Davide Rigon BVM Target + 1m01.523s 14. Arthur Pic DAMS + 1m02.497s 15. Carlos Huertas Fortec + 1m11.138s 16. Alexander Rossi Arden Caterham + 1m12.616s 17. Mikhail Aleshin RFR + 1m19.746s 18. Daniel Abt Tech 1 + 1m43.544s 19. Yann Cunha Pons + 1m49.989s 20. Jake Rosenzweig ISR + 1 lap 21. Nikolay Martsenko BVM Target + 1 lap 22. Andre Negrao Draco + 1 lap 23. Vittorio Ghirelli Comtec + 1 lap Retirements: Kevin Magnussen Carlin 19 laps Daniil Move P1 19 laps Zoel Amberg Pons 0 laps