World champion Jorge Lorenzo cut Marc Marquez's lead at the top of the MotoGP standings to 34 points with victory in San Marino, his second win in a row.
The 26-year-old, who started from the front row on his Yamaha, has now won his last three races at Misano.
Fellow Spaniard Marquez took second, with Repsol Honda team-mate, and title rival, Dani Pedrosa third and Yamaha's Valentino Rossi fourth.
Marc Marquez (Spa) -
Jorge Lorenzo (Spa)
Dani Pedrosa (Spa) -
Valentino Rossi (Ita) -
Cal Crutchlow (GB) -
Britain's Cal Crutchlow finished in sixth position on his Tech 3 Yamaha.
insisted his title hopes were over
after winning the British Grand Prix a fortnight ago, but his latest victory keeps alive his hopes of retaining the crown, with five legs of the 18-race season remaining.
He has moved into second place in the standings behind 20-year-old Marquez, and level on points with Pedrosa, but remains cautious about his title chances.
"It is important to win, but we have only recovered five points, so it is the same as Silverstone," he said. "It doesn't make a big difference to the championship.
"But I'm very happy for this victory, because we struggled a lot during the weekend, especially on braking."
Marquez, who started on pole but dropped to fourth early in the race, said: "The second place is important, especially because with the fuel tank full, I was struggling.
"I did go wide twice and that penalised me a lot in the race but we had a good race to take points for the championship. That is important."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.