Italian MotoGP great Valentino Rossi won the San Marino Grand Prix for Yamaha on his home track while Honda's runaway championship leader Marc Marquez suffered a rare spill and finished 15th.
The victory at Misano was the first in 15 months for the 35-year-old nine-time world champion and ended Honda's 100 per cent winning record for the season.
Spaniard Marquez, who started on the second row and was chasing a record-equalling 12th victory in 13 races so far this year, lost control of his bike with 19 laps to go with the machine slipping out from beneath him under braking.
The 21-year-old then struggled to get the Honda started again with marshals pushing him along.
Yamaha celebrated a one-two finish with Spaniard Jorge Lorenzo, winner at Misano for the last three years, second for the fourth race in a row after starting on pole position. Marquez's team mate Dani Pedrosa was third.
Rossi's last win was at Assen in the Netherlands in June last year and Sunday's was his 81st in the top category and 107 in all classes.
1. Marc Marquez (Spain) Honda 289
2. Dani Pedrosa (Spain) Honda 215
3. Valentino Rossi (Italy) Yamaha 214
4. Jorge Lorenzo (Spain) Yamaha 177
5. Andrea Dovizioso (Italy) Ducati 142