Spielberg bei Knittelfeld - Jorge Lorenzo struck the final blow in a dog fight with fellow Spaniard Marc Marquez, overtaking at the start of the final lap on Sunday to win the Austrian MotoGP.
Ducati's Lorenzo and Marquez, on a Honda, traded first place over the closing laps before Lorenzo powered past on the home straight and then held off Marquez on the next corner to pull away to win.
Lorenzo, who will be moving to Honda next season, said he made an effort to conserve his tyres in the early part of the race.
"Ten laps to the end, I decided to attack," Lorenzo said immediately after the race. "I was stronger in some areas, like uphill, he was stronger on the second corner. When I passed him, I gave everything and pushed to the limit. One of my best victories."
Marquez could afford to savour the battle because his closest rival in the standings, Italian veteran Valentino Rossi, started from 14th on the grid and could only climb to sixth.
"This race I enjoyed," Marquez said. "I gave everything, everything. I would try to defend my position but he did it to me on the straight. Great show."
Marquez now leads the standings by 59 points.
Lorenzo jumped to third overall, one point ahead of Andrea Dovizioso who finished third on the other Ducati. The Italian, who won last week in Brno, could not quite keep up with the pace of the two leaders.
Leading results from the Austrian motorcycling Grand Prix, the 11th leg of the world championship, held at Spielberg on Sunday:
1. Jorge Lorenzo (ESP/Ducati) 39 min 40.688sec, 2. Marc Marquez (ESP/Honda) at 0.130sec, 3. Andrea Dovizioso (ITA/Ducati) 1.656, 4. Cal Crutchlow (GBR/LCR Honda) 9.434, 5. Danilo Petrucci (ITA/Ducati Pramac) 13.169, 6. Valentino Rossi (ITA/Yamaha) 14.026, 7. Dani Pedrosa (ESP/Honda) 14.156, 8. Alex Rins (SPA/Suzuki) 16.644, 9. Johann Zarco (FRA/Yamaha Tech3) 20.760, 10. Alvaro Bautista (SPA/Ducati Angel Nieto Team) 20.844
1. Marc Marquez (ESP/Honda) 201 points, 2. Valentino Rossi (ITA/Yamaha) 142, 3. Jorge Lorenzo (ESP/Ducati) 130, 4. Andrea Dovizioso (ITA/Ducati) 129, 5. Maverick Vinales (ESP/Yamaha) 113, 6. Danilo Petrucci (ITA/Ducati Pramac) 105, 7. Johann Zarco (FRA/Yamaha Tech3) 104, 8. Cal Crutchlow (GBR/LCR Honda) 103, 9. Andrea Iannone (ITA/Suzuki) 84, 10. Alex Rins (SPA/Suzuki) 66