Antonio Giovinazzi took the honours in the final FIA F3 European Championship race at the Norisring, returning to the top step of the podium for the first time since Pau nine races ago.
The early-season points leader took the lead at the start with a great getaway from third on the grid.
He had to survive three safety car periods, but did enough at the restart each time and was never really challenged for the lead.
Giovinazzi’s fellow second row starter Jake Dennis followed him through into second place at the start but lacked pace after that and ended up 11th.
George Russell took second place, finishing 1.3 seconds behind Giovinazzi and just ahead of Alex Albon and Charles Leclerc.
Leclerc’s advantage at the top of the standings has been reduced by Giovinazzi to 42.5 points.
Mikkel Jensen beat Mucke Motorport team-mate Santino Ferrucci to fifth place with a pass late on into Turn 1, while Callum Ilott finished seventh.
Dorian Boccolacci ran as high as fifth at one stage, but only did so after making contact with Dennis at Turn 1. The Frenchman therefore deliberately lifted to let Ferrucci and Dennis back through before repassing the ailing Briton, but also lost out to Jensen and Ilott along the way.
Alessio Lorandi and Brandon Maisano completed the top 10 after dumping Dennis out of the points.
Title contender Felix Rosenqvist had a very quiet race and like Prema team-mate Dennis lacked pace on his way to 13th.
The first safety car was called for when Sam MacLeod collected the stalled car of Matt Solomon off the line, and the second not long afterwards when Gustavo Menezes hit race two winner Maximilian Gunther and Sergio Sette Camara at Turn 1 as they fought over eighth. The final interruption came when Nabil Jeffri clattered into Matt Rao at the same place.
|1||Antonio Giovinazzi||Carlin||38 laps|
|4||Charles Leclerc||Van Amersfoort Racing||+01.912|
|5||Mikkel Jensen||Mucke Motorsport||+05.830|
|6||Santino Ferrucci||Mucke Motorsport||+08.423|
|9||Alessio Lorandi||Van Amersfoort Racing||+09.915|
|10||Brandon Maisano||Prema Powerteam||+11.223|
|11||Jake Dennis||Prema Powerteam||+11.416|
|13||Felix Rosenqvist||Prema Powerteam||+12.171|
|16||Pietro Fittipaldi||Fortec Motorsports||+15.838|
|17||Arjun Maini||Van Amersfoort Racing||+16.153|
|19||Sergio Sette Camara||Motopark||+19.499|
|20||Michele Beretta||Mucke Motorsport||+19.666|
|22||Kang Ling||Mucke Motorsport||+20.146|
|24||Nicolas Pohler||Double R Racing||+25.399|
|Lance Stroll||Prema Powerteam||+4 laps|
|Matt Rao||Fortec Motorsports||+15 laps|
|Nabil Jeffri||Motopark||+15 laps|
|Maximilian Gunther||Mucke Motorsport||+33 laps|
|Gustavo Menezes||Carlin||+33 laps|
|Matt Solomon||Double R Racing||+38 laps|
|Sam MacLeod||Motopark||+38 laps|