Dani Pedrosa denied local hero Valentino Rossi victory in the San Marino Grand Prix with a masterful performance, becoming MotoGP's eighth different winner in eight races.
Pedrosa has endured a tough 2016 season with MotoGP's new Michelin tyres, but he came to life in the hot conditions at Misano.
One of only two riders on the grid to decide to race with the softest of the three front tyre compounds, Pedrosa moved up from eighth to sixth off the line, then put moves on Maverick Vinales and Andrea Dovizioso in the first third of the race.
At the front, Rossi got past polesitter Jorge Lorenzo and edged away to lead by 1.25 seconds after eight laps and while Lorenzo responded briefly, Rossi then established that advantage.
Then Pedrosa's march really started.
With a string of laps in the low-1m33s barrier, he caught the lead pack and put a move on Honda team-mate Marc Marquez at Turn 14.
He followed that with the fastest lap of the race, a 1m32.979s the next time around on lap 15, and moved past Lorenzo with an identical move on lap 17.
At that stage, Rossi was still 1.240s up the road, but Pedrosa took 0.268s and 0.520s out of the Italian on consecutive laps.
Pedrosa then moved into the lead with an aggressive move on Rossi at Turn 4 on lap 22, seven laps from home.
Rossi stuck with him briefly and looked to respond, but Pedrosa was untouchable on the run home.
He built his lead all the way to the line to take his first victory since last October's Malaysian Grand Prix by 2.837s.
Lorenzo eventually crossed the line in third, 1.522s behind Rossi, while Marquez faded to finish fourth, 9.569s adrift of his team-mate.
Marquez still leads the championship, though, by 43 points over Rossi and 61 over Lorenzo with five races remaining.
Suzuki was again quiet in hot conditions, with Vinales finishing fifth and eventually comfortably clear of Ducati's Dovizioso, despite having to relinquish the position for a track-limits infringements mid-race.
Michele Pirro was seventh on what was the other factory Ducati in the race after Andrea Iannone was ruled out due to injury, while Cal Crutchlow crossed the line in eighth for LCR Honda as the top satellite rider.
Crutchlow was handed a 1.5s penalty post-race for exceeding track limits, which dropped him to ninth behind Tech3 Yamaha rider Pol Espargaro, however the penalty was later withdrawn after a review.
SAN MARINO GP RESULT
|8||Cal Crutchlow||LCR Honda||28||25.702s|
|9||Pol Espargaro||Tech3 Yamaha||28||27.155s|
|11||Danilo Petrucci||Pramac Ducati||28||39.206s|
|13||Hector Barbera||Avintia Ducati||28||42.997s|
|14||Eugene Laverty||Aspar Ducati||28||49.450s|
|15||Scott Redding||Pramac Ducati||28||54.879s|
|16||Yonny Hernandez||Aspar Ducati||28||1m05.072s|
|17||Tito Rabat||Marc VDS Honda||23||5 Laps|
|-||Javier Fores||Avintia Ducati||15||Retirement|
|-||Alex Lowes||Tech3 Yamaha||7||Retirement|
|-||Jack Miller||Marc VDS Honda||0||Withdrawn|