Lewis Hamilton led home McLaren team-mate Jenson Button in an action-packed Formula One Canadian Grand Prix.
Ferrari's Fernando Alonso finished third, but could have won - he was passed by both McLarens at different moments when wrong-footed by others cars.
Red Bull had to settle for fourth and fifth - Sebastian Vettel nursing a car problem for much of the distance, and Mark Webber losing the lead when his strategy of leaving the super soft tyres until the final laps failed to pay off.
1. Hamilton McLaren-Mercedes 1h33:53.4562. Button McLaren-Mercedes +2.2543. Alonso Ferrari +9.2144. Vettel Red Bull-Renault +37.8175. Webber Red Bull-Renault +39.2916. Rosberg Mercedes +56.0847. Kubica Renault +57.3008. Buemi Toro Rosso-Ferrari +1 lap9. Liuzzi Force India-Mercedes +1 lap10. Sutil Force India-Mercedes +1 lap11. Schumacher Mercedes +1 lap12. Alguersuari Toro Rosso-Ferrari +1 lap13. Hulkenberg Williams-Cosworth +1 lap14. Barrichello Williams-Cosworth +1 lap15 Massa Ferrari +1 lap16. Kovalainen Lotus-Cosworth +2 laps17. Petrov Renault +2 laps18. Chandhok HRT-Cosworth +4 laps19. Di Grassi Virgin-Cosworth +5 laps