McLaren's Lewis Hamilton battled to a masterful Monaco Grand Prix victory on Sunday despite hitting the barriers on an afternoon of mayhem on the principality's slippery streets.

The Briton's sixth win in 23 starts catapulted the 23-year-old into the championship lead, three points clear of Ferrari's Kimi Raikkonen who failed to score.

BMW Sauber's Polish driver Robert Kubica took second place, 3.0 seconds behind, with Ferrari's Brazilian Felipe Massa in third after starting on pole position.

The race was ended after the two hour mark was reached with only 76 of the 78 scheduled laps completed.