The German, without a triumph since last year when he won 13 of the 18 races, finished second ahead of Brazilian team mate Rubens Barrichello in Ferrari's best race so far in a disappointing season.
He even re-lived the thrill of thinking victory was coming his way, when McLaren's eventual winner Kimi Raikkonen ran wide in the closing stages.
"Kimi obviously went off in turn four and I was thinking 'great, it's going to be my turn now' but he recovered," said the seven times champion who had made a slow start from the front row.
"Anyway, we are quite happy with our result, and particularly Rubens having an unfortunate qualifying and making his way to third is a great result for us this weekend."
|
He did move up to fifth place in the standings, 35 points behind Renault's overall leader Fernando Alonso with 11 races remaining.
Barrichello had started from the pitlane for the first time in his 204 race career after a gearbox problem prevented him completing a qualifying lap but he performed above expectations in difficult conditions.
"I had a fantastic race," he said. "I was pushing the whole time, I had good overtaking, the pit crew did a fantastic job to call me in as soon as possible.
"I didn't have a radio from the very first lap and I didn't have the water working," he added.
The fact remained however that, while scoring more points than any other team in Canada to put pressure on Toyota and Williams just two points ahead, fifth placed Ferrari have now gone nine races without a victory.
"This is an encouraging result but we must not forget that our aim is to win," said team boss Jean Todt.
"Having said that, prior to the race I would have happily settled for both drivers on the podium."