Italian Dovizioso, who started on a soft rear tyre, took the lead with seven laps to the finish line and maintained a slender advantage over Honda riders Marquez and Dani Pedrosa, who completed the podium.
Dovizioso’s team mate Jorge Lorenzo finished fourth despite taking an early lead in dry conditions at the Red Bull Ring, while Johann Zarco finished fifth.
Yamaha endured a disappointing afternoon with Maverick Vinales and Valentino Rossi taking the sixth and seventh spot, respectively.
Alvaro Bautista secured an eighth-placed finish for Aspar Ducati, with Avintia Ducati’s Loris Baz ended ninth.
KTM wildcard Mika Kallio beat last year’s winner Andrea Iannone to the 10th spot.
Marquez leads the championship standings with 174 points, 16 ahead of second-placed Dovizioso. Vinales slipped to third spot with 150 points, followed by Rossi on 141.
(Reporting by Hardik Vyas in Bengaluru, editing by Pritha Sarkar)