După un weekend dominat de piloţii McLaren, calificările de sâmbătă de pe circuitul de la Barcelona au readus în top maşinile Ferrari. Cu o grilă de start deja obişnuită, cu McLaren şi Ferrari în primele două linii, urmate de cele două BMW-uri, începutul avea să fie unul tensionat. Prima incercare de pornire a cursei a fost abandonată în urma unei probleme la maşina lui Jarno Trulli, urmând ca în a doua startul să se ia normal.
Fernando Alonso, de pe a doua poziţie a grilei de start, reuşeşte o plecare bună şi în prima curbă se instalează pe trasa ideală pentru a ieşi primul din ea. Însă Felipe Massa pe interior frânează târziu şi îl loveşte pe Alonso, obligându-l la o incursiune pe nisip, ca apoi spaniolul să revina în pluton pe locul 4, în spatele lui Kimi Raikkonen. Finlandezul este obligat să abandoneze după doar 9 tururi, cu o problemă la partea electrică a maşinii sale, oferindu-i lui Alonso un podium garantat pentru cursa de casă.
Prima sesiune de pit-stopuri aduce şi acţiune, maşina lui Felipe Massa, care deja reuşise
să-şi construiască un avans considerabil, fiind cuprinsă de flăcări în momentul plecării, datorită unor scurgeri de benzină. Din fericire, monopostul nu a suferit nici o avarie şi brazilianul şi-a continuat cursa până la final. Nick Heidfeld a fost nevoit să abandoneze din cauza unei probleme la roata dreapta faţă, după ce tocmai intrase la boxe din poziţia de lider.
La final, prima poziţie a fost ocupată de cel care a pornit din pole-position, brazilianul Felipe Massa apropiindu-se de locul 1 în clasamentul general, loc pe care se află acum Lewis Hamilton, urmat de Fernando Alonso, ca rezultat al ultimei poziţii de pe podium ocupată de spaniol în cursa de azi.
Robert Kubica obţine un rezultat foarte bun pentru BMW, un loc 4 care menţine echipa germană pe poziţia a treia în clasamentul general. O altă cursă bună a fost realizată de către David Coulthard şi Nico Rosberg, obţinând poziţiile 5 şi 6 după o luptă aprigă cu Heikki Kovalainen, pilotul Renault fiind nevoit, precum coechipierul său, să efectueze o intrare suplimentară la boxe ca urmare a unei probleme la pompa de alimentare. Takuma Sato obţine primul punct pentru Super Aguri, fiind urmat de Giancarlo Fisichella, Rubens Barichello, Anthony Davidson şi Jenson Button. Piloţii Spyker F1, Sutil şi Albers au fost ultimii care au încheiat această cursă.