Jorge Lorenzo was a start-to-finish winner of his home race at the Catalunya MotoGP as the reigning champion clawed back ground at the top of the 2013 standings.
Factory Yamaha star Lorenzo shot into the lead at the first corner, edging ahead of Repsol Honda's Dani Pedrosa and controlled the race from the front to win by 1.763 seconds for his third victory of the season.
Pedrosa held off a fearsome attack from team-mate Marc Marquez in the closing laps to narrowly claim the runner-up spot with Valentino Rossi finishing in a lonely fourth.
Lorenzo has reduced the gap to Pedrosa at the top of the championship to seven points after six rounds, with Marquez a further 23 points in arrears.
A number of high-profile contenders crashed out, including Tech 3 Yamaha's Cal Crutchlow, Ducati's Nicky Hayden and Alvaro Bautista on the Gresini Honda.
Crutchlow was holding fourth place – 1.3s behind Lorenzo – when he went down at Turn 7.
The British rider's team-mate, series rookie Bradley Smith, overhauled Ducati's Andrea Dovizioso in the closing stages to claim his best result to date with a brilliant ride to sixth.
Lorenzo, who started from third place on the grid, blasted into the lead from pole man Pedrosa in a sprint to the first corner with Marquez slotting into third ahead of Crutchlow and Rossi.
Bautista was a first lap casualty as he attempted to overtake Rossi - whom he tangled with on the first lap of the previous Mugello round - losing the front end at Turn 10 and narrowly avoiding colliding with the Italian's M1 as he slid into the gravel.
Hayden was making good progress in the early stages and the American forced his way past Andrea Iannone on the Pramac machine to take seventh behind Stefan Bradl as Lorenzo continued to lead from Pedrosa, Marquez, Crutchlow and Rossi.