Andrea Dovizioso missed the morning warm-up through illness
Illness had forced Dovizioso out of the morning warm-up but he came out fighting in the race and took the lead with 10 laps remaining, charging to his third win in the top flight, 1.281secs ahead of his Movistar Yamaha rival.
“There is a lot of emotion,” he said. “I woke at four in the morning and was very sick and was feeling not so good, my energy was not so good.
“My bike was good but I didn’t know what I could do in the race, but I try, push hard and get ahead and then it was enough to stay in front.
“We have very big support, I wanted this victory, it is a dream come true to win here on a Ducati, this is such a big sensation”.
Andrea Dovizioso clinched his third win in the top flight
Dovizioso is now second in the title race, 105-79 down on Vinales.
Danilo Petrucci took third for Pramac Ducati ahead of Valentino Rossi but there was no luck for Cal Crutchlow, who was sent tumbling by Dani Pedrosa in a failed overtaking move.