It was Marquez who got the holeshot from pole as the lights went out, with Valentino Rossi (Movistar Yamaha MotoGP) tucked in behind his arch rival from P2 on the grid.
Cal Crutchlow (LCR Honda Castrol) launched well from P5 to slot into third, before Dovizioso re-took P3 into Turn 3 as the front three in qualifying held station, spearheading the field into a high-speed game of chess at Chang International Circuit.
Ducati moves up
Everyone held position before Rossi got past Marquez on the run down to Turn 3, ‘The Doctor' back up the sharp end and looking strong to control the pace.
With tyre life a major factor in the soaring Thailand temperatures, no one wanted to force their hand.
That was until Lap 11, when Rossi couldn't get his M1 firing out the first corner and the Ducati of Dovi and Honda of Marquez swept past the nine-time world champion - and the number 04 emerging in charge of controlling the 200mph freight train.
Bridging the gap
Then, however, laptimes slowed again as Vinales bridged the gap to the leading trio.
Pedrosa crashed out at Turn 5 with eight laps remaining as he and Zarco got a whiff of a potential podium, the duo closing down the leaders by half a second on the previous lap, before the race then entered a critical stage at the front.
Dovi got the run out Turn 11 to brake late into the final corner and get alongside Marquez, but the Italian couldn't quite drop anchor quick enough - with a flash of orange cutting back underneath the Italian as Marquez did exactly what he had been victim to in Austria in 2017, Motegi that same season and Qatar at the start of 2018.
The Spaniard crossed the line just ahead, and the roles were reversed in perfect symmetry.