Ducati's Andrea Dovizioso has taken his third win of the season after beating Marc Marquez in a thrilling duel at the Austrian MotoGP.

Having passed Dovi's team-mate Jorge Lorenzo on lap 12 of 28, the pair were rarely separated by more than a few bikelengths.

It wasn't a 'game of chess', waiting until the end, either - the pair exchanged the lead five times on a single lap!

That briefly allowed Dani Pedrosa to reach the lead battle, but the #26 couldn't keep pace.

A Turn 1 mistake by Marquez threatened to hand Dovizioso victory with three laps to go, but the Repsol Honda star (using the medium-hard tyre combination) reeled the Desmosedici (med-soft) back in to set-up a Hollywood ending.

Marquez lurked on Dovizioso's rear wheel for most of the last lap, an inquisitive move at the penultimate corner being followed by an 'on-the-limit' attack at the final turn. Dovizioso saw it coming and cut back inside the sliding RCV on the exit, casually waving his hand as he rode to what was surely the best victory of his career.

Dovi's celebrations were in stark contrast to the misery of a narrow defeat to team-mate Andrea Iannone one year ago.

Pedrosa completed the podium, four seconds ahead of Lorenzo. The #99 chose the same tyres as Dovizioso, and looked back to his best when holding the lead, but still needs to work on maintaining his pace.

Dovizioso and Lorenzo were both using the new Ducati fairing, which reduces some of their top speed advantage, but aids acceleration and braking.

Monster Yamaha Tech 3 rookie Johann Zarco was the top M1 rider, in fifth place on the soft-soft tyres. The Frenchman got the better of factory stars Maverick Vinales and Valentino Rossi, who mirrored Lorenzo's loss of speed after the opening ten laps.

Dovi has now passed Vinales for second in the world championship, 16 points from Marquez. Vinales is 24 from Marquez, with Rossi 33 points behind.

Aspar Ducati's Alvaro Bautista was eighth, while Loris Baz (Avintia Ducati) and KTM wild-card Mika Kallio had a day to remember by filling the rest of the top ten.

Regular KTM rider Pol Espargaro's race ended when he clipped another rider at the start and suffered lever damage. Zarco's team-mate Jonas Folger and Pramac's Danilo Petrucci also made an early exit due to technical problems.

Marc VDS Honda's Jack Miller was the only faller...