Marc Marquez edged a little closer to Stefan Bradl in the Moto2 championship by denying the German a home victory at the Sachsenring.
125cc champion Marquez and Moto2 leader Bradl were the main protagonists in the lead battle throughout the race, with Marquez ahead until he ran wide at Turn 1 on lap 14.
He stayed with Bradl, though, and was able to retaliate with seven laps to go, before eventually edging away to clinch a third consecutive win with a 0.896-second cushion.
Alex de Angelis took his first podium of the season in third, having split Marquez and Bradl for a while without managing to nose into the lead.
Tom Luthi made it a four-bike lead pack for a while, though he was later edged back to fifth as Bradl's Kiefer teammate Randy Krummenacher put on an impressive late charge to his best Moto2 result yet.
Yonny Hernandez also lost out to Krummenacher in the closing stages and finished a still Moto2 career-best sixth, having run with the leaders for a spell.
Scott Redding and Simone Corsi charged through from 23rd and 21st on the grid to seventh and eighth respectively.
Returnee Julian Simon crashed at the first corner in his first race back after breaking his leg at Catalunya, though he escaped without further injury.
Bradley Smith also ran off the road on the opening lap, and later crashed out for good while trying to fight back.
Front row starter Aleix Espargaro crashed out early in a high-side that saw him collect the unlucky Max Neukirchner.