Daniel Ricciardo scored a sensational maiden Formula One grand prix win as the wheels finally came off the Mercedes juggernaut in Canada.

On yet another captivating day for the sport this season, the race at the Circuit Gilles Villeneuve was a classic.

After six successive wins this season and a record-equalling run of five consecutive one-twos, it was rising Red Bull star Ricciardo who was the man to bring the curtain down on Mercedes' dominance.

Rosberg still managed to nurse his car home into second place after losing power from the energy recovery system (ERS).

The 18 points for Rosberg, though, are crucial as bitter title rival and team-mate Lewis Hamilton was forced to retire with brake issues after 47 of the 70 laps.

It was the Briton's second retirement this season after failing to see the chequered flag in the opening race in Australia, and he now trails Rosberg by 22 points.

A relieved Rosberg said: "I lost ERS which means you can't harvest (energy) any more, which then affects the rear brakes.

"That made things very difficult. I had to cool the brakes the lot, I lost power on the straights, yet I had to continue to push, putting in qualifying laps. There was not much left at the end.

"It's still a very good result, lots of points, but we need to keep pushing because as we saw we can suffer with reliability issues. We need to make sure we are bulletproof."

It was a race that ended in dramatic fashion, with Ricciardo making his decisive move on Rosberg on lap 68, with the German's Mercedes struggling for power on the long straights.

Come the final lap, with Williams' Felipe Massa dicing with Sergio Perez in his Force India for fourth, the Brazilian ran into the back of the Mexican.

Whilst Perez rammed into one barrier to his right, Massa flew head-on into a tyre wall at turn one, almost collecting third-placed Sebastian Vettel on his way.

Mercifully, neither man was injured, and as the medical car rolled up to attend to them, Ricciardo went on to take the chequered flag by 4.2secs to Rosberg.

The German and Hamilton had again been vying for the lead up until the midway point when they encountered the power issues.

It was Hamilton who succumbed first, and it appeared only a matter of time before Rosberg would follow, but somehow the 28-year-old kept his car out of trouble.

Although the field closed behind him, for many laps led by Perez, it was Ricciardo who made the moves.

After being stuck behind Perez for some time, the Australian finally squeezed by, releasing him to reel in Rosberg and make the winning pass two laps from home.

A naturally thrilled Ricciardo said: "I'm still a bit in shock. This is ridiculous.

"I'm very proud. It's been a long time since I won a race. It's a feeling I've missed, so hopefully I can have more of this."

It was a race that also had drama at the start, not least coming out of turn one after Hamilton had edged his nose in front of Rosberg.

But with Rosberg holding the line into the corner, Hamilton had to take evasive action to avoid contact, and in doing so he immediately lost a place to Vettel.

Further down the field, though, was where the real carnage unfolded, with Marussia's Max Chilton losing control of his car through the turn three/four chicane.

Unfortunately for Chilton the car nearest to him was team-mate Jules Bianchi, with the Frenchman hit from the side and sent spinning into a wall where the rear of the Marussia disintegrated.

As for Chilton, his momentum carried him into a wall on the opposite side of the track, forcing him into retirement for the first time in his 26-race career.

For Marussia, it was arguably the most disastrous moment of their 84 races in F1, just a fortnight after their high in Monaco of scoring points for the first time.

Under the safety car it took the marshals six laps to clear away the debris and mop up oil on the track, with the race getting under way again after seven laps.

Mercifully for Hamilton, it took him less than three laps to clear Vettel, leaving him with Rosberg in his sights.

But come the first round of stops Rosberg held a two-second cushion to Hamilton, enough to ensure he retained the lead, despite a close shave at the wall where Bianchi had earlier come to grief.

From lap 21 Hamilton then started to reel in Rosberg, and with the latter under pressure on lap 25, Rosberg locked his front right into turn 13.

That forced him to cut the chicane, but in doing so extending the cushion to 1.1secs.

Unsurprisingly, the stewards opted to take a look, citing Rosberg for exceeding track limits, but there was no penalty, only a warning.

It was another contentious moment in their championship scrap, one that then suddenly took a twist as both men complained about the power loss.

Sadly from Hamilton's perspective it was a problem that ultimately cost him dear, particularly as Rosberg managed to see the chequered flag.

In the battle for the title, the latest retirement for Hamilton has again forced him into a position of playing catch-up.

Behind the leading trio, Jenson Button managed to claim fourth in his McLaren, with Force India's Nico Hulkenberg fifth and Fernando Alonso for Ferrari sixth.