Kubica leapfrogged Hamilton to the top of the drivers' world championship, four points clear of the Briton, and BMW Sauber now top the constructor's title race.
"It is very fantastic to win my first race for BMW Sauber who I joined from the beginning. We have grown up together," Kubica said after the race.
"It's fantastic for me and my country, and for the fans who were cheering for me in Canada.
|"Last season I was struggling a lot, but I am doing pretty well this season."|
"Last season I was struggling a lot, but I am doing pretty well this season."
The Pole's win was the first by a team other than McLaren and Ferrari since October 2006 and fulfilled the Swiss-German team's pre-season ambition to win their first Formula One race.
"Very happy with second position, and very happy for the team. It is our first ever one-two finish," Heidfeld said.
"It shows we are still going in the right direction. Over the last three years we have managed to reach our goals.
"Our goal for this season was to win a race, and we have done that."
Scottish veteran Coulthard, who recorded a rare podium finish in recent times, was happy to reminisce about his long career.
"It's my 62nd podium and I am as delighted to be here as in 1994 when I was first there," Coulthard said.
"Actually it was in Canada that I scored my first points.
"I'm very happy for Robert [Kubca] and for BMW who deservedly won this grand prix."
Toyota's German Timo Glock took fourth place, the best result of his first full Formula One season and Brazilian Ferrari driver Felipe Massa claimed an eventful fifth.
Italian Jarno Trulli completed a good day for the Toyota team with sixth place with Honda's Rubens Barrichello and Toro Rosso's Sebastian Vettel filling the other point-scoring places.
The safety car was deployed early in the race after German Adrian Sutil's Force India car caught fire.
As the field bunched up, half a dozen cars - including ost of the leaders, decided to head to the pits to refuel.
Raikkonen and Kubica emerged from their stops ahead of previous leader Hamilton, but were held up by a red-light at the end of the pit lane.
|"It's not exactly a racing incident as such but I think it's really unfortunate."|
Inexplicably, Hamilton did not realise that his two rivals were stationary ahead of him and after pulling away from his garage he barrelled into the back of Raikkonen ending his own race and that of the reigning world champion.
"We got into the pit stop, it wasn't a great stop and I saw the two guys in front of me and they were battling in the pit lane," Hamilton told Britain's ITV television.
"I was obviously trying to make sure I didn't get involved with those guys. I saw the red light but by the time they had stopped and I had seen the red light it was a bit late.
"It's not exactly a racing incident as such but I think it's really unfortunate."
The next F1 grand prix is in France at Magny-Cours on June 22.