Local favourite Dani Pedrosa streaked away to win the Catalan Moto GP on Sunday for his second victory of the season.
The 22-year-old Honda rider got off to a flying start as he passed pole-position holder and world champion Casey Stoner before the first bend. He set a circuit record on the second lap and never looked back.
"It has been a difficult weekend but I started very quickly and was delighted with the race," Pedrosa told Spanish state television.
"I have won here at 125 and 250cc categories, and now I have won at MotoGP so am particularly pleased."
Yamaha's Valentino Rossi fought back from ninth on the grid to hold an entertaining duel with Ducati's Stoner for second place.
The Australian, who won at the Circuit de Catalunya last year, had the edge until Rossi passed him with two laps to go.
Italian Andrea Dovizioso, American Colin Edwards and Britain's James Toseland came in fourth, fifth and sixth respectively.
Rossi, with 142 points from seven races, continues to lead the standings but saw his lead cut to seven points by Pedrosa.
Spain's Jorge Lorenzo remains third with 94 despite not competing after a crash in practice on Friday. Stoner is two points further back in fourth.
BAUTISTA MISTAKE
Earlier, a mistake from Spaniard Alvaro Bautista on the final lap of the 250cc race allowed Italian Marco Simoncelli, who was tight on his rear wheel, to nip through and claim his second consecutive victory this season.
Spaniards Hector Barbera and Alex Debon were a distant third and fourth.
Gilera's Simoncelli moved up to second in the standings, just three points short of championship leader Finn Mika Kallio who had to drop out with mechanical problems near the end of the race.
Italy's Mattia Pasini dropped down to third, eight points behind Kallio, after finishing sixth.
Frenchman Mike De Meglio won the 125cc category on a Derbi, just ahead of Spanish teenager Pol Espargaro and Hungarian world champion Gabor Talmacsi.
De Meglio moved 14 points clear of Simone Corsi at the top of the championship with his second victory of the season as two of his closest rivals, Nicolas Terol and Joan Olive, fell in the closing stages. Italy's Corsi finished fifth.