|AP Photo/Antonio Calanni
Dani Pedrosa surged through the field to win the San Marino and Rimini Riviera Grand Prix after starting eighth on Sunday.
Valentino Rossi passed pole sitter Jorge Lorenzo early on and had a comfortable lead until Pedrosa overtook rivals Marc Marquez and Lorenzo in quick succession.
Pedrosa then passed Rossi with seven laps to go and won with nearly a three-second margin for his first victory this season.
"I felt like I had the speed to stay ahead but then Dani approached and he was just too fast," second-placed Rossi said after saluting his home fans, many of them carrying yellow flags featuring his No. 46. "It's too bad, because I really wanted this victory."
Lorenzo finished third and MotoGP leader Marquez crossed fourth.
Marquez leads Rossi by 43 points with five races remaining this season. Lorenzo is 61 points back in third and Pedrosa is fourth, 78 points behind.
Lorenzo became the eighth different winner in the last eight races.
Lorenzo Baldassari took his first Moto2 win on home soil in a race that was marked by an accident between Axel Pons and Xavier Simeon on the opening lap. Neither rider appeared to be seriously injured. Brad Binder won the Moto3 race from pole.