Andrea Dovizioso scored his first MotoGP victory in five months by coming out on top in a three-way fight against Jorge Lorenzo and Marc Marquez in the Czech Grand Prix.
Ducati rider Dovizioso expertly fended off attacks from both Marquez and Lorenzo in the closing stages of a tense affair at Brno, which only came alive in the closing stages.
The Italian led the bulk of the 21-lap event, where the top runners were forced to focus on preserving their tyres for much of the race.
Valentino Rossi made a strong start from second on the grid to lead the pack into Turn 1, but Dovizioso passed the Yamaha rider later around the opening tour to take a lead he would hold until the eighth lap.
As a large group of riders formed up behind the leaders, Rossi took the chance to retake the lead at the downhill Turn 5 right-hander, but he could only hold it for three laps before again succumbing to Dovizioso, this time at Turn 1.
Two corners later, Marquez followed suit to go past Rossi and seize second, and on the following lap LCR Honda rider Cal Crutchlow did likewise to take third place.
Lorenzo then began a late spurt by passing Rossi on lap 13, and three laps later the Spaniard cleared Crutchlow and went on the attack against Marquez and Dovizioso.
On lap 18, Lorenzo found his way past Marquez with a bold move at the uphill Turn 13 left-hander and immediately made an audacious attempt to pass Ducati team-mate Dovizioso for the lead into Turn 14.
But Dovizioso held firm, and a subsequent failed bid for the lead by Lorenzo at Turns 3 and 4 gave Dovizioso the breathing space he needed to take his first win since the season-opening Qatar race.
Lorenzo and Marquez traded second place on the final lap, with the former getting the upper hand but falling 0.178s short of victory at the chequered flag.
Two seconds further back, Rossi had got back ahead of Crutchlow to take fourth on the last lap, while Danilo Petrucci completed the top six on the best of the Pramac Ducatis and was less than a second further back.
Johann Zarco (Tech3 Yamaha), Honda's Dani Pedrosa, Alvaro Bautista (Nieto Ducati) and Suzuki rider Andrea Iannone completed the top 10, with Bautista holding the fastest lap until it was beaten by Lorenzo on the final tour.
Alex Rins slumped to 11th place on the second Suzuki after running eighth earlier in the race.
Completing the points scorers some way further back were Jack Miller (Pramac), Marc VDS Honda's Franco Morbidelli, Hafizh Syahrin (Tech3) and Aleix Espargaro on the best of the Aprilias.
Maverick Vinales' miserable weekend came to an abrupt end on the first lap as he was involved in a three-way crash with Stefan Bradl and Bradley Smith.
Scott Redding also crashed out on the second Aprilia, while Tito Rabat's Avintia Ducati suffered a suspected mechanical failure.