MotoGP world champion Jorge Lorenzo won the San Marino Grand Prix for Yamaha on Sunday but Marc Marquez extended his overall lead to 34 points after finishing second.

Lorenzo's second win in a row left the Spaniard level with Honda-riding compatriots Dani Pedrosa on 219 points and Marquez, the 20-year-old rookie who had taken the season by storm, on 253.

Pedrosa finished third at the Misano Marco Simoncelli circuit in eastern Italy with local hero Valentino Rossi ending up fourth for Yamaha for the fourth race in a row.

With five races remaining, Marquez does not need to win another race to take the title but can clinch it by finishing second in all of them.

"I started really convinced, really motivated, and tried to push from the first corner to the last" said Lorenzo, who passed pole-sitter Marquez at the start and streaked away to a comfortable 28th win in the top class.

"It is important to win because we don't lose points but we have only recovered five... it doesn't make a big difference to the championship."