It was Marquez who took the holeshot from pole, but the headline-grabber as the lights went out was Dovizioso as the Italian shot off the line from P9 with a perfect start and was into a stunning third - behind Cal Crutchlow (LCR Honda Castrol) - into Turn 1.
Petrucci dropped to fifth, the two Petronas Yamaha SRTs of Fabio Quartararo and Franco Morbidelli also lost out, and Jack Miller (Pramac Racing) moved up.
Train of riders
It remained a train of riders at the front, with nine within two seconds, but home eyes were also trained elsewhere as Valentino Rossi (Monster Energy Yamaha MotoGP) ran on, as did rookie Joan Mir (Team Suzuki Ecstar), and the two were forced into a quick trip across the gravel - rejoining at the back.
The race was on and Mir would recover for points, but it ended early for the 'Doctor' as he then slid out of contention at Turn 9 - a tough end to a tough weekend.
Back at the front though, the fight was feisty and slowly but surely, a front quintet of Petrucci, Marquez, Dovizioso, Miller and Rins were able to pull away.
Drama then hit Miller though as he suddenly crashed out - not long after team-mate Francesco Bagnaia had done the same - and then there were four.
Race of the season
Finally, in one of the races of the season saw Petrucci make some history, Marquez gaining a little ground in the Championship and Dovizioso forced to settle for third on his 300th Grand Prix start.
With Petrucci now a Grand Prix winner and arriving into the next race with his place in the Ducati history books secured, the MotoGP caravan moves to Catalunya for the Spanish GP on June 15.