Sven Muller took his first Formula 3 Euro Series win in the reversed-grid race at Hockenheim, while more problems for Daniel Juncadella mean the title will be decided in Sunday's finale.
Prema driver Muller passed polesitter Lucas Wolf for the lead with four laps to go with a perfectly-timed move at the Spitzkehre, and was able to pull away to win by 1.2 seconds.
Muller's team-mate Raffaele Marciello took just two more laps to pass Wolf's URD Dallara; the eight points the Italian took for second place helping to close the gap to Juncadella to just 13.5 with 25 available from Sunday's final race.
Juncadella, who retired from a title-winning position in race one due to an engine-related problem, started from the pitlane after suffering more dramas pre-race. He completed three slow laps before retiring.
Wolf took his maiden Euro Series podium, beating Lucas Auer, who had started second on the reversed grid, Will Buller and Tom Blomqvist.
Pipo Derani was the best of the Fortec drivers in seventh while Mucke duo Pascal Wehrlein and Felix Rosenqvist were next up.
Wehrlein's result means he has lost second place in the championship to Marciello, who is now Juncadella's main title challenger. The German is now 14 points adrift of Juncadella and 0.5 behind Marciello.
Results - 12 laps:
Pos Driver Team/Car Time/Gap
1. Sven Muller Prema Dallara-Merc 20m53.625s
2. Raffaelle Marciello Prema Dallara-Merc + 1.220s
3. Lucas Wolf URD Dallara-Merc + 2.815s
4. Lucas Auer Van Amersfoort Dallara-VW + 3.626s
5. Will Buller Carlin Dallara-VW + 6.176s
6. Tom Blomqvist Ma-con Dallara-VW + 6.883s
7. Pipo Derani Fortec Dallara-Merc + 8.595s
8. Pascal Wehrlein Mucke Dallara-Merc + 8.901s
9. Felix Rosenqvist Mucke Dallara-Merc + 9.978s
10. Felipe Nasr Carlin Dallara-VW + 11.211s
11. Emil Bernstorff Ma-con Dallara-VW + 11.892s
12. Alex Lynn Fortec Dallara-Merc + 12.426s
13. Carlos Sainz Jr Carlin Dallara-VW + 13.717s
14. Michael Lewis Prema Dallara-Merc + 17.923s
15. Dennis van de Laar Van Amersfoort Dallara-VW + 18.338s
16. Sandro Zeller Zeller Dallara-Merc + 22.952s
17. Luis Sa Silva Angola Dallara-Merc + 23.768s
18. Andrea Roda Zeller Dallara-Merc + 26.670s
19. Felix Serralles Fortec Dallara-Merc + 1 lap
Daniel Juncadella Prema Dallara-Merc 2 laps