Lewis Hamilton led a second-successive one-two for McLaren in an eventful Canadian Grand Prix which was dominated by tyre wear.
Fernando Alonso claimed the final podium spot ahead of the two Red Bull drivers, led by Sebastian Vettel.
Nico Rosberg was the best of the Mercedes drivers. He finished sixth while Schumacher limped home in eleventh, out of the points.
Robert Kubica and Sebastien Buemi finished seventh and eighth, and Force India got both cars into the points, with Tonio Liuzzi ahead of Adrian Sutil.
It a very eventful race, in which the lead changed hands several times, but the two English drivers prevailed despite the common consensus which said that the McLaren drivers were starting on the wrong tyre.
As it happened, even the harder compound was lacking durability, and there were multi-pit stop strategies all the way through the field.
Mark Webber was demoted from second to seventh on the starting grid after a gear box change, promoting teammate Sebastian Vettel up into second, alongside Lewis Hamilton on the front row.
McLaren were gambling on a safety car at the beginning of the race, knowing that the soft tyres on the cars of Hamilton and Jenson Button could last less than ten laps.
All of the drivers who qualified outside top ten – and were not constrained on tyre choice – decided to start on the harder tyre compound.
Hamilton got a good start of the line, and Vettel, Webber and Button followed him into Turn 1. As is typical in Canada, not everybody managed to follow the leaders through the opening corner without incident.
Felipe Massa and Tonio Liuzzi in particular were in the wars, having a succession of collisions around the first corner. Vitaly Petrov, who was later penalised for jumping the start, got out of shape off the line, and clouted the Sauber of Pedro de la Rosa. He got another penalty for causing this accident later in the race.
Schumacher was one of the big winners at the start, moving up from thirteenth to eighth. Kamui Kobayashi also did well off the line, and got up into tenth, but then put his car in the 'wall of champions' on the first lap, which ended the Japanese driver's race.
Pedro de la Rosa, Felipe Massa, and Tonio Liuzzi all had to make unscheduled stops at the end of Lap 1 for new front wings and other repairs.
Meanwhile Mark Webber, who had made it up to fifth from seventh, was now all over the back of Button's McLaren. On Lap 5, Webber got past the world champion around Turn 8.
After this, Button came under threat from Robert Kubica, who also had hard tyres on his Renault. McLaren were clearly not getting the soft tyres to work for them – Sebastian Vettel was also challenging Hamilton for the lead. Button pitted for a change of compound a lap later.
Hamilton was defending well from Webber, but was losing time and had to pit, letting the Red Bull through. Fernando Alonso pitted at the same time from third, and the two former teammates exited the pits side-by-side and wheel-to-wheel.
After Hamilton and Alonso came out of the pits, Heikki Kovalainen was circulating in eighth in the Lotus. He quickly dropped down to a more customary position though.
After the pit stop melee, Vettel led the race from teammate Webber. Michael Schumacher, who could choose his starting compound after qualifying only thirteenth, was up into third. Schumacher pitted on Lap 13, and exited right in front of the Renault of Robert Kubica. There was an attempted overtaking manoeuvre from the Pole, but Schumacher would not yield, and robustly defended the position, with both cars on the grass at one point. Schumacher had to make a second stop after this altercation with Kubica, and the Renault looked to have a few parts missing from his front wing.
Mark Webber and Sebastian Vettel pitted on consecutive laps, wary of the pace of those who had just pitted for new harder tyres. Interestingly, Vettel chose to take on the softer tyre. Sebastien Buemi inherited the lead of the race.
Fernando Alonso and Lewis Hamilton quickly caught this surprise leader, and as Alonso tried to pass Buemi, Hamilton overtook the Spaniard while Buemi wisely dived into the pits for his first stop of the afternoon, getting out of the way.
All this action had taken place by Lap 17. Hamilton now had the lead again, Alonso was second, Button third, and Vettel was fourth just ahead of his teammate Webber.
On Lap 26, Lewis Hamilton made his second stop of the afternoon, promoting Alonso into the lead. Hamilton took on another set of hard compounds, with the race still far from half distance. A lap later, Button and Vettel pitted from second and third, retaining their positions relative to one another.
Fernando Alonso entered the pits at the end of Lap 28, and Mark Webber took the lead of the race. Hamilton got ahead of the Ferrari after that stop, and was up into second place. Alonso was third, ahead of Jenson Button.
Mark Webber, who was the only one of the front-runners still yet to use the super soft tyre, had an 11-second lead at half distance. The gap between second-placed man Hamilton and Alonso who was running in third was a steady 1.5 seconds, whilst Button and Vettel were running close together in fourth and fifth.
However, on Lap 40, Webber told his engineer that his hard tyres were 'beginning to go'. Lewis Hamilton was beginning to set some fastest laps, putting the Aussie under pressure. There were still thirty laps left, Webber would not survive on the soft tyres for the remainder of the race, and so Red Bull had a problem on their hands.
By Lap 45, the gap between Webber and Hamilton had dropped to less than four seconds, and the Red Bull driver was losing more and more time as he tried to nurse well-worn tyres. Hamilton, Alonso and Button were all planning to finish the race on their current tyres.
At the beginning of Lap 50, Hamilton finally reclaimed the lead from Webber, and the 2007 winner quickly started to pull out a gap. Webber pitted at the end of that lap for the soft tyre before Alonso could follow Hamilton past him. Webber now had 19 laps to make the soft tyre last.
On Lap 56, Jenson Button got past Fernando Alonso as the pair was lapping the Hispania of Karun Chandhok. Button was now 3.6 seconds behind his teammate, who was leading yet another McLaren one-two. The tyres and brakes seemed to be holding up well.
With ten laps to go, Button was catching Hamilton, and had got the gap down to just over two seconds. Hamilton responded with a fastest lap the next time round, determined to prevent a repeat of the intra-team shenanigans of Turkey.
Michael Schumacher, who was running ninth with extremely worn tyres, was defending his position from former Ferrari teammate Felipe Massa. Schumacher moved across Massa's car, pushing the Brazilian out onto the grass, and knocking his front wing. Massa had to pit the next time round for a new nose. This is another incident that will be investigated after the race.
Liuzzi was next to challenge Schumacher for ninth place and, as Martin Brundle so eloquently put it, the Italian needed to treat the German's car like 'the back end of a donkey' today.
In the end, both Force India drivers got past Michael Schumacher, and the seven-time world champion finished the race point-less.
At the front, the top five runners were holding position sensibly, and Lewis Hamilton crossed the line to take his second victory in Canada, with Jenson Button following for a second-consecutive one-two finish for McLaren.