Hector Faubel was awarded victory on a tie-break in a remarkable photo finish to the Sachsenring 125cc race.
The Aspar rider, who returned to 125cc this year after three seasons in 250cc/Moto2, crossed the line in an exact dead heat with Johann Zarco (Ajo).
The duo could not be separated on the timing screens or on video replays, but Faubel became the official victor by virtue of having set a faster race lap than Zarco.
The duo had been part of a three-bike breakaway lead pack with Blusens' Maverick Vinales, with the trio swapping positions repeatedly into the final stages.
Faubel took the lead from Vinales on the last lap, but out of the final corner Zarco attacked on the outside and had enough momentum to edge ahead. But while Zarco began celebrating, the officials were examining video evidence and judged that he had not been in front at the line.
It was the second time this season that Zarco had thought he had clinched a maiden world championship level win only to be denied - having had victory at Catalunya taken away via a penalty.
Points leader Nico Terol finished fourth. Along with Luis Salom and Sergio Gadea, he had been part of the lead group early on before the top three broke away in the closing laps.
Efren Vazquez also briefly led but crashed out, while Miguel Oliveira was in the top five at first before falling.
Jonas Folger took seventh at his home race, just ahead of Sandro Cortese and Danny Kent, with Niklas Ajo completing the top 10.
Results - 27 laps:
Pos Rider Team/Bike Time/Gap
1. Hector Faubel Aspar Aprilia 39m57.979s
2. Johann Zarco Ajo Derbi + 0.000s
3. Maverick Vinales Blusens Aprilia + 0.272s
4. Nicolas Terol Aspar Aprilia + 1.723s
5. Luis Salom RW Aprilia + 2.784s
6. Sergio Gadea Blusens Aprilia + 6.786s
7. Jonas Folger Ajo Aprilia + 13.116s
8. Sandro Cortese Germany Aprilia + 13.414s
9. Danny Kent Ajo Aprilia + 13.710s
10. Niklas Ajo TT Motion Aprilia + 29.090s
11. Alberto Moncayo Andalucia Aprilia + 29.341s
12. Toni Finsterbusch Freudenberg KTM + 33.483s
13. Jakub Kornfeil Ongetta Aprilia + 34.357s
14. Danny Webb Mahindra + 34.405s
15. Jasper Iwema Ongetta Aprilia + 36.878s
16. Marcel Schrotter Mahindra + 43.087s
17. Simone Grotzkyj Phonica Aprilia + 43.123s
18. Louis Rossi Matteoni Aprilia + 52.487s
19. Luigi Morciano Italia FMI Aprilia + 1m01.936s
20. Giulian Pedone Phonica Aprilia + 1m04.494s
21. Sturla Fagerhaug WTR-Ten10 Aprilia + 1m05.804s
22. Francesco Mauriello WTR-Ten10 Aprilia + 1m05.900s
23. Joan Perello Matteoni Aprilia + 1m24.205s
24. Zulfahmi Khairuddin Ajo Derbi + 1m27.327s
25. Alessandro Tonucci Italia FMI Aprilia + 1m27.505s
26. Alexis Masbou Caretta KTM + 1 lap
27. Felix Forstenhaeusl Schwaben Honda + 1 lap
Adrian Martin Aspar Aprilia 26 laps
Harry Stafford Ongetta Aprilia 26 laps
Luca Gruenwald Freudenberg KTM 23 laps
Efren Vazquez Ajo Derbi 20 laps
Peter Sebestyen Caretta KTM 19 laps
Marvin Fritz LHF Honda 8 laps
Jack Miller RZT Aprilia 3 laps
Miguel Oliveira Andalucia Aprilia 2 laps
Taylor Mackenzie Phonica Aprilia 2 laps