Andrea Dovizioso won a pulsating Austrian MotoGP after holding off Marc Marquez in a dramatic finale at the Red Bull Ring on Sunday.
Marquez hunted down Dovizioso in thrilling duel and made one last bold move at the final corner, cutting inside the leader but running too wide to enable the Italian to pass him and seal his third win of the year.
Ducati rider Dovizioso wafted his arm up in reaction to Marquez's last-ditch attempt to take a third victory in a row as the championship leader had to settle for second spot ahead of team-mate Dani Pedrosa.
Dovizioso's triumph, by a margin of only 0.176 seconds, moved him up to second place behind Marquez in the battle for the title, the Spaniard holding a 16-point advantage.
Maverick Vinales is a further eight points back after he could only finish sixth, with Jorge Lorenzo taking fourth spot and Johann Zarco fifth.
It was a disappointing start and finish for Marquez, who was passed by Lorenzo on the first lap after beginning on pole.
Marquez fended off Dovizioso as Lorenzo increased his advantage, but the defending champion slipped back to third briefly before regaining second spot.
As Lorenzo's pace dropped, both Marquez and Dovizioso spent several spells at the front in an exhilarating race but it was the Ducati rider who had the edge.
Marquez threw everything at Dovizioso right at the end of the race as he held nothing back, but the 31-year-old was not to be denied.
DOVIZIOSO WAS BRACED FOR LATE MARQUEZ MOVE
Dovizioso had been unable to shake Marquez off in a scrap which could have gone either way and was relieved to have come out on top.
"The battle was really nice," said Dovizioso. "We controlled the race, me and Marc, for the tyres, but it is the worst thing you can have - Marc behind you on the last lap.
"I heard in the last corner, he opened [the throttle] earlier than me so I knew he wanted to try [and pass at] the last corner, and I didn't brake, I gave the possibility the overtake me.
"But I was good to stop the bike, and I was a little bit faster [going out of the final corner]."
VINALES ON THE SLIDE
Vinales drops out of the two top for the first time this season after finishing over seven seconds after Dovizioso crossed the line.
The Spaniard was unable to pass Zarco and misjudgements at Turn 1 proved to be costly as his hopes of catching Marquez suffered a setback.
WOE FOR ESPARGARO, FOLGER AND PETRUCCI
It was a day to forget for Red Bull KTM Factory Racing's Pol Espargaro, retiring after doing damage to a rear brake in an opening lap tangle with the slow-starting Danilo Petrucci (Pramac Racing), who also had to retire.
Jonas Folger (Monster Yamaha Tech 3) was another to call it a day early, while Jack Miller crashed out late in the day.
IN THE POINTS
1. Andrea Dovizioso (Ducati)
2. Marc Marquez (Repsol Honda) +0.176secs
3. Dani Pedrosa (Repsol Honda) +2.661s
4. Jorge Lorenzo (Ducati) +6.663s
5. Johann Zarco (Monster Yamaha Tech 3) +7.262s
6. Maverick Vinales (Movistar Yamaha) +7.447s
7. Valentino Rossi (Movistar Yamaha) +8.995s
8. Alvaro Bautista (Pull&Bear Aspar Team) +14.515s
9. Loris Baz (Reale Avintia Racing) +19.620s
10. Mika Kallio (Red Bull KTM Factory Racing) +19.766s
11. Andrea Iannone (Team SUZUKI ECSTAR) +20.101s
12. Scott Redding (OCTO Pramac Racing) +25.523s
13. Aleix Espargaro (Aprilia Racing Team Gresini) +26.700s
14. Karel Abraham (Pull&Bear Aspar Team) +27.321s
15. Cal Crutchlow (LCR Honda) +28.096s
1. Marc Marquez - 174 points
2. Andrea Dovizioso - 158
3. Maverick Vinales - 150
4. Valentino Rossi - 141
5. Dani Pedrosa - 139
It is on to the British MotoGP at Silverstone in a fortnight, where Vinales could do with a repeat of his victory last year.