Andrea Dovizioso held off factory Ducati team-mate Jorge Lorenzo for his second win of 2018, whilst Marc Marquez extending his lead atop the World Championship in Brno.
Starting from the pole position, Dovizioso lead the race in the early stages, although with a race pace slower than many expected, the opening half of the race saw the top five riders all running extremely closely as they managed their front tyres.
At half race distance, Valentino Rossi moved past Dovizioso to take the lead and finally ignite the race into action. The Italians move forced Marquez into life with the Spaniard aggressively moving past Lorenzo. Cal Crutchlow heaped the pressure on Lorenzo and the Brit looked to stay with the leaders.
Back at the front, Dovizioso worked hard to stay at the front of the race and was doing his upmost to remain ahead of both Rossi and Marquez.
With six laps remaining, Jorge Lorenzo on his GP18 starting moving forward and hunting down the leaders. At a similar time to Lorenzo moving forwards, Rossi starting going backwards and into the clutches of the Spaniard and Crutchlow.
As the race entered the final three laps, Lorenzo moved past Marquez into second and heaped the pressure on his team-mate who had managed to keep the Honda man behind him. As the laps ticked down, Lorenzo pulled a sensational move into the final chicane to temporarily take the lead, only for his team-mate to slam the door shut and the final lap battle would commence.
A hard pass by Marquez forced Lorenzo off line and gave Dovizioso three quarters of a second out front, the cushion he needed on the final lap. Despite moving back past Marquez, Lorenzo just ran out of time and Dovizioso converted his pole position to his second win of 2018 after his Qatar success.
Behind the podium riders, Rossi slide under Crutchlow in the final corner for fourth, relegating the Brit to fifth. Danilo Petrucci was sixth with Johann Zarco and his soft rear tyre seventh. Alvaro Bautista, Dani Pedrosa and Andrea Iannone rounded out the top ten.