Marc Marquez moved into the MotoGP championship lead by keeping Cal Crutchlow at bay to win the German Grand Prix.
Valentino Rossi had to settle for third place on a day when erstwhile championship leaders Dani Pedrosa and Jorge Lorenzo were both sidelined by injuries.
Both Marquez and Crutchlow had to fight back through after losing ground off the line, when they had fallen from first and second to fourth and seventh respectively.
Rossi led out of the first corner but was passed by local hero Stefan Bradl on lap one.
CRT star Aleix Espargaro had jumped to third at the start and even had a look at taking Rossi for second on lap two.
Espargaro then made it as hard as possible for Marquez to pass him, before the Honda got ahead and chased down the leaders.
Consecutive final-corner passes on laps five and six got Marquez past first Rossi, then Bradl to lead the race.
He then began to edge away as Rossi and the recovering Crutchlow worked on Bradl.
Both eventually made it, with Crutchlow then attacking Rossi and squeezing into second at half-distance.
Marquez's lead was nearly three seconds at that point, but Crutchlow - despite his injuries from his Saturday crashes - began to hunt him down.
Despite Crutchlow's best efforts, Marquez did not let him get any closer than 1.5s, as the Spaniard claimed the second win of his MotoGP rookie season.
Rossi kept clear of Bradl to take another podium for Yamaha in third.
Gresini's Alvaro Bautista and Crutchlow's Tech 3 Yamaha team-mate Bradley Smith completed the top six.
Espargaro was ultimately edged back to eighth, just behind Ducati's lead runner Andrea Dovizioso.