Marc Marquez cruised to his ninth-successive German Grand Prix victory to extend his MotoGP points lead over Valentino Rossi, who was second at the Sachsenring.
Jorge Lorenzo once again launched off the line to take the holeshot into the first corner ahead of Ducati stablemate Danilo Petrucci on the Pramac GP18 and poleman Marquez.
The Honda rider, who was one just a few to opt for the soft rear tyre, muscled past Petrucci at Turn 1 on the fifth lap to begin the chase on Lorenzo, who had built up an advantage of half a second.
Lorenzo, the only rider on the soft front tyre, found his advantage cut by two tenths over the next couple of tours, before Marquez launched a successful raid at the first turn on lap 13.
Once clear of Lorenzo, Marquez immediately built up a gap of four tenths, while Rossi hounded the Ducati man before seizing second when Lorenzo ran wide at Turn 10 on lap 15.
Rossi brought Marquez's lead down to seven tenths once clear of Lorenzo, firing in a fastest lap of 1:21.776s on lap 19.
Marquez responded, however, posting successive race best laps in the 1:21.6s bracket to open up his advantage up to over a second, adding a further two tenths to his gap over the next handful of laps.
With a 2.5s lead with six laps to go, and Lorezno's charge fading as his front tyre rapidly lost grip late on, Marquez forced Rossi to surrender his victory hopes.
Remaining unchallenged to the chequered flag, Marquez tallied up his fifth win of the 2018 season and opened up his championship lead to 46 points ahead of the summer break.
Rossi was comfortable second, with Yamaha teammate Maverick Vinales working his way through to the podium with a late charge.
Vinales usurped long-time podium runner Petrucci with just over a lap remaining, while Alvaro Bautista scored his best result since the 2017 Italian Grand Prix in fifth.
Lorenzo dropped to sixth in the closing stages as his front tyres completely ran out of grip, with Ducati teammate Andrea Dovizioso seventh and slipping 77 points adrift of standings leader Marquez.
Dani Pedrosa lost touch with the podium group early on and was a distant eighth in the end, with Tech3's Johann Zarco heading the Honda man in ninth. Bradley Smith completed the top 10 on the KTM.
Hafizh Syharin to his best result since Argentina in 11th on the sister Tech3 M1, while Andrea Iannone recovered to 12th after getting caught up in a collision with Pol Espargaro at Turn 2 at the start.
Espargaro clattered Iannone, and tangled with his Suzuki stablemate Alex Rins, with both Spaniard's out on the spot. Jack Miller was forced off track as a result, but recovered to 14th between Tito Rabat ahead and 15th-placed Scott Redding.
Cal Crutchlow crashed out early on while running fifth, with LCR teammate Takaaki Nakagami falling a few laps prior. Aprilia's Aleix Espargaro was a non-starter after suffering an injury to his ribs in a nasty warm-up crash on Sunday morning.