Felipe Massa took the fastest time in the first session with the two McLarens of Hamilton and Kovalainen in second and third respectively. At the back Sébastien Bourdais, Nelson Piquet Jr., Sebastian Vettel, Adrian Sutil and Giancarlo Fisichella, celebrating his 200th Grand Prix, were eliminated after posting the four slowest lap times.
Weather was a particular concern of the race, as rain fell just before the start of the race, and continued for twenty minutes. Thus all drivers started the race with wet tyres.
At the start of the formation lap, Kovalainen's engine stalled on the grid. He started his race from the pitlane instead of fourth on the grid. At the start Hamilton took the chance to overtake Räikkönen's Ferrari and into P2, with Massa leading the pack into turn 1. The end of lap 2 saw Button run into the back of Heidfeld, damaging his nose cone and forcing him to pit.
Lap four saw two more drivers damaging their front wings; Nico Rosberg in the Williams, and Timo Glock in his Toyota just past the pitlane entry. As a result, Glock was forced to do another lap before coming in for another nose. On lap six Hamilton slid his rear end into a barrier at the swimming pool section, puncturing his rear tyre and forcing him to pit. He returned to the race in fifth, dropping only three places because of the large spacing between the top six cars. This eventually would work out to his advantage as McLaren put enough fuel in his car to take him through to a dry tyre window.
On lap 8 Fernando Alonso lost control at the Massenet corner, aquaplaning into the barrier, puncturing his right rear tyre and damaging the hub on his rear-right wheel. Shortly after, David Coulthard made the same mistake but could not reduce his speed and crashed into the barrier, destroying his front suspension and front wing. Only a couple of seconds later yet another driver, Sebastian Bourdais, aquaplaned off at Massenet and crashed into the back of Coulthard's stationary Red Bull. The safety car was deployed for 2 laps, with Alonso pitting to repair his tyre and switching to extreme wets. Alonso returned to the race in P7, gifting his P4 to Hamilton. The safety car was pulled off at the end of lap 10 reducing the gap between P1 and P7 to just over 5 seconds.
On lap 13 Räikkönen came into the pits to serve a drive-through penalty, given because his car was not fitted with tyres until after 3 minutes before the parade lap. He rejoined 4th behind Hamilton. At the front Massa was pulling away from Kubica's BMW. Later on at the Hotel Hairpin Alonso tried to force his way past Heidfeld's car but Heidfeld left no space for him and he T-boned the BMW causing it to come to a complete stop. Whilst pulling away, Heidfeld's rear left wheel ran over Alonso's front wing, causing further damage.
Massa missed the braking point on lap 15 at the first corner but was able to stop in the run-off area without damage. However, he had to give the lead to Kubica while he turned to get back on the track. Two laps later saw Heidfeld in trouble, dropping way back into the pack and allowing several cars to pass. When he pitted at the end of lap 18, the front wing and the punctured rear-left tyre were replaced. He rejoined the race in 18th place.
With the rain stopped on lap 18, most drivers were finally able to put the hammer down. The lap times started to drop from 1 minute 34 seconds in the wet condition to below 1 minute 30 seconds.
On lap 26 some drivers started to pit for tyres and fuel. Most had been staying on standard wet tyres. At the front Räikkönen made a mistake at the first corner and damaged his front wing. His stop had been particularly long for fuel, possibly suggesting that he was on a long second stint. He rejoined sixth behind Sutil in the Force India.
On lap 33 Massa pitted for tyres and fuel, allowing Hamilton to take the lead. Massa rejoined ahead of Kubica. Several laps later, Fisichella's Force India developed gearbox trouble and he retired on lap 38.
As the track began to dry up, the drivers started to consider using dry tyres for the remainder of the race. Alonso took the gamble first and switched to dry tyres on lap 46, with Webber and Piquet soon following suit. The race did not finish well for Piquet though, who retired after smashing into the barrier on lap 47.
Lap 61 saw Nico Rosberg run wide onto the wet patches on entering the swimming pool section, crashing into the barriers in the process. This accident left a lot of debris across the track, forcing the safety car to come out for the second time. During the safety car period, both Kovalainen and Heidfeld took several laps before unlapping themselves.
The race restarted on lap 68 but at the exit of the tunnel, Räikkönen lost control of his car and ploughed into the back of the unfortunate Adrian Sutil who was running in fourth after starting from 18th on the grid. Sutil was forced to retire in the pits with a broken diffuser and rear suspension but Räikkönen continued to finish, after a second nose change, in ninth place and clock the fastest lap.
Eventually the race came to an end after passing the two hour time-limit. Hamilton took the flag after finishing the 76th lap, with Kubica and Massa finishing in the minor podium positions. Nine drivers finished on the same lap, the last being Räikkönen, with the remainder classified at least a lap down.
The Finnish driver later apologised for the accident, "Basically I just think my brakes were a bit too cold and I locked the rear. I nearly lost the car but unfortunately I hit him – and it is sad for them because they are not very often in the position to finish in the points. So, I feel a bit sorry for him – but I could not do anything. I tried to slow down but there was nowhere to go and nowhere to slow down – and I lost fifth place" he said in an interview with Jonathon Noble.
| Pos | No | Name | Constructor | Part 1 | Part 2 | Part 3 | Grid |
|---|---|---|---|---|---|---|---|
| 1 | 2 | Felipe Massa | Ferrari | 1:15.190 | 1:15.110 | 1:15.787 | 1 |
| 2 | 1 | Kimi Räikkönen | Ferrari | 1:15.717 | 1:15.404 | 1:15.815 | 2 |
| 3 | 22 | Lewis Hamilton | McLaren-Mercedes | 1:15.582 | 1:15.322 | 1:15.839 | 3 |
| 4 | 23 | Heikki Kovalainen | McLaren-Mercedes | 1:15.295 | 1:15.389 | 1:16.165 | 4 |
| 5 | 4 | Robert Kubica | BMW Sauber | 1:15.977 | 1:15.483 | 1:16.171 | 5 |
| 6 | 7 | Nico Rosberg | Williams-Toyota | 1:15.935 | 1:15.287 | 1:16.548 | 6 |
| 7 | 5 | Fernando Alonso | Renault | 1:16.646 | 1:15.827 | 1:16.852 | 7 |
| 8 | 11 | Jarno Trulli | Toyota | 1:16.306 | 1:15.598 | 1:17.203 | 8 |
| 9 | 10 | Mark Webber | Red Bull-Renault | 1:16.074 | 1:15.745 | 1:17.343 | 9 |
| 10 | 9 | David Coulthard | Red Bull-Renault | 1:16.086 | 1:15.839 | No time3 | 15 |
| 11 | 12 | Timo Glock | Toyota | 1:16.285 | 1:15.907 | 10 | |
| 12 | 16 | Jenson Button | Honda | 1:16.259 | 1:16.101 | 11 | |
| 13 | 3 | Nick Heidfeld | BMW Sauber | 1:16.650 | 1:16.455 | 12 | |
| 14 | 8 | Kazuki Nakajima | Williams-Toyota | 1:16.756 | 1:16.479 | 13 | |
| 15 | 17 | Rubens Barrichello | Honda | 1:16.208 | 1:16.537 | 14 | |
| 16 | 14 | Sébastien Bourdais | Toro Rosso-Ferrari | 1:16.806 | 16 | ||
| 17 | 6 | Nelson Piquet Jr. | Renault | 1:16.933 | 17 | ||
| 18 | 15 | Sebastian Vettel | Toro Rosso-Ferrari | 1:16.955 | 191 | ||
| 19 | 20 | Adrian Sutil | Force India-Ferrari | 1:17.225 | 18 | ||
| 20 | 21 | Giancarlo Fisichella | Force India-Ferrari | 1:17.823 | 202 |