By taking victory in Spielberg, Dovizioso moved into second place in the World Championship race - sitting only 16 points adrift of Marc Marquez atop the standings.
Dovizioso and Marquez were joined on the podium by Repsol Honda rider Dani Pedrosa, who rode a brilliant race to lock up his seventh podium finish in the last nine races.
The race was a nail-biter throughout, with the lead changing hands several times, including a big move at the start - where Ducati's Jorge Lorenzo roared into an early lead for the second straight race, as Marquez dropped from pole into second, with Dovizioso lurking behind in third.
As the laps ticked on, the front three continued to push each other - while the Yamaha of Valentino Rossi sat in fourth, with Johann Zarco's Monster Yamaha narrowly behind the pace and keeping up his pursuit.
After biding their time, Marquez and Dovizioso both made their move on the race lead as they came down the straight on Lap 11 - sitting side-by-side with each other as they roared down the straight.
When the dust settled, it was Dovizioso who came out on top - as the Italian rider brilliantly slipped past both Lorenzo and Marquez to take the lead for the first time.
However, this was short-lived - as Marquez quickly managed to strike when Dovizioso ran slightly wide, allowing the Spaniard to take the lead within a few corners, as the front two began to pull away from Lorenzo.
Lap by lap, the lead at the front grew - while Dani Pedrosa started his surge from sixth, finding his way past Valentino Rossi and Johann Zarco to set his sights on Lorenzo in third.
With ten laps remaining, an uncharacteristic slip-up from Marquez saw him run wide - handing the lead back to Dovizioso.
While one Ducati dueled with a Repsol Honda at the front of the pack - there was a similar battle for third, but Lorenzo did not have the pace to contain Pedrosa down the straight, as the Spaniard started to hunt down the leaders.
The lead went back and forth between Marquez and Dovizioso, as the two pushed each other to the limit - opening the door for Pedrosa to close in and set up a grandstand finish.
It was a nail-biter coming into the final two laps - as Marquez trailed by one-hundredth of a second, as Dovizioso scrapped to hold off the charge of the reigning World Champion and go into the final lap with a narrow lead, as Pedrosa dropped off the pace.
On the final lap, Marquez went for broke - making multiple dives down the inside of Dovizioso to no avail. With each corner, the moves grew more and more desperate, culminating in a final move around the outside on the last corner, where Marquez narrowly took the lead.
However, it was no avail - as Dovizioso kicked his Ducati up a notch as he roared down the straight, leaving Marquez in his wake as he crossed the chequered flag only 0.17 seconds ahead of his Spanish rival.
Pedrosa finished 2.6 seconds off the pace and locked up another podium finish - continuing his impressive string of form.
Jorge Lorenzo was the next rider to finish, crossing the chequered flag in fourth - while Johann Zarco narrowly edged out Maverick Vinales to finish in fifth.
Valentino Rossi finished seventh, while Alvaro Bautista (Pull & Bear Ducati), Loris Baz (Avintia Ducati) and Mika Kallio (KTM) rounded out the top ten.