Het hele raceweekend in Barcelona stond in het teken van de strijd tussen Jorge Lorenzo en Valentino Rossi. Na de trainingen en de kwalificatie was ook de race een strijd tussen de twee Fiat Yamaha rijders, en wat voor één. Rossi was uiteindelijk 0,095s sneller dan zijn teamgenoot.
Vanaf het begin tot het einde stond deze race in het teken van de strijd tussen de twee Fiat Yamaha teamgenoten. Jorge Lorenzo had kopstart voor Valentino Rossi met daarachter Casey Stoner, Randy de Puniet, Dani Pedrosa, Andrea Dovizioso en Toni Elias.
In de derde ronde was het Rossi die de leiding overnam en tot de 13e ronde vast wist te houden. Stoner kon het duo in het begin nog volgen maar moest vanaf de negende ronde lossen terwijl daarachter Dovizioso zijn Spaanse teamgenoot had weten te passeren waarna Pedrosa onder druk kwam van Loris Capirossi.
Nadat Lorenzo de leiding weer had overgenomen bleef Rossi tot de 22e ronde in het kielzog van de Spanjaard rijden waarbij het verschil nooit groter was dan 0,5s. Toen ‘the Doctor’ weer aan de leiding kwam probeerde hij Lorenzo te breken maar dat lukte niet waarna we een werkelijk adembenemende laatste ronde zagen.
Lorenzo pakte in de eerste bocht de leiding maar Rossi pakte Lorenzo weer eventjes terug in de vierde bocht, Lorenzo sloeg meteen terug en lag daarna tot in de laatste bocht aan de leiding. Rossi stak toen, op een plek waar niemand het verwachtte, de Yamaha binnendoor en wist Lorenzo tot op de streep achter zich te houden en 0,095s eerder dan zijn teamgenoot over de finish te komen.
Achter Rossi en Lorenzo werd het nog spannend tussen Stoner en Dovizioso maar hier wist een uitgeputte Stoner net de Italiaan achter zich te houden. Pedrosa moest uiteindelijk zwichten voor de druk van Capirossi die de vijfde plaats pakte.
De strijd om P7 ging bijna de hele race tussen de Puniet en Colin Edwards en hier was het Edwards die eerder dan de Fransman over de finish kwam. Mika Kallio wist Nicky Hayden achter zich te houden voor de negende plaats.
Voor Yuki Takahashi en Toni Elias liep de race uit op een crash. Takahashi ging in de eerste ronde onderuit en Elias ging in de negende ronde onderuit nadat hij Marco Melandri had gepasseerd.
Voor wat betreft het kampioenschap zien we een unieke stand. Rossi, Lorenzo en Stoner staan namelijk alle drie op 106 punten.