Marquez fended off Dovizioso as Lorenzo increased his advantage, but the defending champion slipped back to third briefly before regaining second spot. This is the Dovizioso's third win of the season, further consolidating his position for the championship title. Marquez' Honda teammate Dani Pedrosa finished 2.661 seconds back in third.
However, since July's German GP, Marquez has been in a league of his own.
As Lorenzo's pace dropped, both Marquez and Dovizioso spent several spells at the front in an exhilarating race but it was the Ducati rider who had the edge. The former world champion got the definitive lead in the early stages of the race.
Marquez retook the spot shortly thereafter at Turn 7, but again couldn't shake Dovizioso - who slipstreamed past on the main straight with seven laps to go.More news: China to uphold North Korea sanctions
More news: Scaramucci: Trump Charlottesville Statement Should Have Been 'Much Harsher' on White Supremacists
More news: Ivanka Trump denounces white supremacy, neo-Nazis after Charlottesville
Early laps of the race saw Lorenzo in the lead, while Marquez and Dovizioso played catch up.
As Marquez fought off Dovizioso over the opening lap, Lorenzo escaped to the tune of a second, but when the order stabilised, he was soon reeled in by the Honda man.
Although Johann Zarco and then Marquez knocked Rossi off top spot at the halfway point, the Italian went quicker again and became the first rider to beat Andrea Dovizioso's Friday benchmark by going under the 1m24s barrier. The action, however, continued till the final corner of the race with the Italian taking the win.
Lorenzo held on to fourth from Tech3's Zarco and the Yamaha works pair of Maverick Vinales and Rossi, whose both had costly off-track excursions at Turn 1. Pedrosa eventually passed Lorenzo to take third place and finished comfortably in the space, but couldn't match up to the fight of the top two.
Alvaro Bautista secured an eighth-placed finish for Aspar Ducati, with Avintia Ducati's Loris Baz ended ninth. KTM's Mika Kallio picked up the last points finishing 10th, ahead of Suzuki's Andrea Iannone. Marc VDS Honda's Jack Miller was also part of the retirements.