Max Verstappen took his fourth consecutive Formula 3 European Championship race win at the Norisring after a thrilling, but chaotic, race.
The Dutchman was the last of three different race leaders - or four, if you count the safety car that was called on no fewer than four occasions.
A sluggish start dropped Verstappen from third on the grid to fourth, behind poleman Felix Rosenqvist, Esteban Ocon and Tom Blomqvist.
One lap after the first restart, Blomqvist inadvertently tapped Ocon into the first hairpin, and Verstappen was forced to cut the corner in avoidance.
A lap later, Verstappen got a run on Blomqvist - who had a damaged front wing - out of the chicane and passed him for third into the final corner, just before the safety car appeared for a second time.
Ocon pulled a peach of a move on Rosenqvist to take the lead into Turn 1 at the restart. On the following lap Verstappen got a run down the outside of the Swede on the start-finish straight and was able to pull across and claim the inside line and second place at Turn 1.
Two laps later Verstappen completed his rise to the lead by outbraking Ocon at the same spot.
The safety car appeared twice more, but each time Verstappen stayed in front, and the Van Amersfoort Racing Dallara-Volkswagen was able to stretch its advantage over the Prema Powerteam Dallara-Mercedes in the final few laps.
"I had some good fights," said Verstappen, "and after that it was quite comfortable - the car was working really well on the street circuit here."
Ocon once again said that the Mercedes engine is lacking straight-line speed against the VW, and the same was true of third-placed Lucas Auer, who passed Rosenqvist in a chaotic third restart that knocked the Mucke Motorsport man's rear wing askew when he was hit from behind.
Rosenqvist seemed powerless to prevent Prema's Nicholas Latifi and the Carlin Dallara-VW of Jake Dennis also passing him as he dropped to a finishing position of sixth.
The third Mucke car of Roy Nissany was close behind Rosenqvist in seventh, with the West-Tec Dallara-Mercedes of Felix Serralles eighth.
Blomqvist pitted under the safety car for the Carlin boys to replace his damaged front wing and fought his way back up to 10th, in the wheeltracks of his stablemate on the Jagonya Ayam scheme, Sean Gelael, who took his best result yet in ninth.
The first safety car was caused by a first-corner collision that eliminated Felipe Guimaraes and Dennis van de Laar, and forced Antonio Giovinazzi to the pits for a new front wing.
The second was caused when Gustavo Menezes and Antonio Fuoco collided at Turn 1 as they disputed 10th place.
The third happened when Giovinazzi mounted the rear of Tatiana Calderon exiting Turn 1, with Santino Ferrucci also going to the pits for a new front wing.
The final caution was occasioned by Jordan King's front wing, loosened in the third restart - which was chaotic as the safety car lights went off very late - falling off and landing in the middle of the track.
Results - 37 laps:
Pos Driver Team/Car Time/Gap
1. Max Verstappen Van Amersfoort Dallara-VW 35m15.791s
2. Esteban Ocon Prema Dallara-Merc +1.125s
3. Lucas Auer Mucke Dallara-Merc +3.432s
4. Nicholas Latifi Prema Dallara-Merc +6.464s
5. Jake Dennis Carlin Dallara-VW +7.013s
6. Felix Rosenqvist Mucke Dallara-Merc +7.687s
7. Roy Nissany Mucke Dallara-Merc +9.229s
8. Felix Serralles West-Tec Dallara-Merc +11.065s
9. Sean Gelael Carlin Dallara-VW +12.216s
10. Tom Blomqvist Carlin Dallara-VW +12.878s
11. Mitchell Gilbert Fortec Dallara-Merc +15.400s
12. Santino Ferrucci Eurointernational Dallara-Merc +21.832s
13. Hector Hurst West-Tec Dallara-Merc +22.002s
14. Sandro Zeller Jo Zeller Dallara-Merc +22.482s
15. John Bryant-Meisner Fortec Dallara-Merc +22.826s
16. Alexander Toril T-Sport Dallara-NBE +32.776s
17. Spike Goddard T-Sport Dallara-NBE +33.968s
Jules Szymkowiak Van Amersfoort Dallara-VW 33 laps
Michele Beretta Eurointernational Dallara-Merc 30 laps
Jordan King Carlin Dallara-VW 27 laps
Tatiana Calderon Jo Zeller Dallara-Merc 16 laps
Antonio Giovinazzi Carlin Dallara-VW 15 laps
Gustavo Menezes Van Amersfoort Dallara-VW 5 laps
Antonio Fuoco Prema Dallara-Merc 5 laps
Dennis van de Laar Prema Dallara-Merc 0 laps
Felipe Guimaraes Double R Dallara-Merc 0 laps