(CNN) -- Jorge Lorenzo has won his third successive race at the Catalunya MotoGP in Spain.
The Spaniard finished 4.754 seconds ahead of his compatriot Dani Pedrosa on the Honda to complete a Spanish one-two.
Australia's Casey Stoner finished behind Pedrosa in third.
Lorenzo's victory follows on from wins in Britain and Netherlands and is the fifth time in seven races the Fiat Yamaha rider has taken the checkered flag this season.
Andrea Dovizioso, lying third in the world championship standings before the race, spent a large part of the race in second place and pushed Lorenzo for the lead until disaster struck as he slid off with 10 laps remaining.
The Italian got back on his Honda bike, but finished in a lowly 14th place, collecting just two points and losing ground on Lorenzo and missing the chance to take second spot off Pedrosa in the world championship standings.
After the race, Lorenzo admitted he was grateful for the Italian rider's error.
"Andrea was very fast and I was struggling to open up a little gap but he crashed and I profited from that," Lorenzo told BBC Sport.
Earlier, second-placed Pedrosa made a flying start off the grid to pass Lorenzo, only to misjudge the first corner and drop down to tenth place for a time, before battling back into contention for a podium place.
"When I went to take the brake, there was no brake and I was really afraid. I pumped and pumped and finally got the brake, but I was out, so I took it slow," Pedrosa told BBC Sport.
Meanwhile, Casey Stoner was pleased with third after trying and failing to pass Pedrosa.
"It was an impossible task to overtake him. I was already struggling with my breaking points. There was just no way I could get past Dani. He wasn't making mistakes, so hats off to him," Stoner told BBC Sport.
Lorenzo now has 165 points and has only dropped ten points all season. Dani Pedrosa is 52 points behind on 113 points.
Dovizioso now finds himself 74 points adrift of the championship leader with 91 points.