Daniel Ricciardo nursed his wounded Red Bull over the line to win the Monaco Grand Prix and claim his second victory of the Formula One campaign.

Ricciardo was down on power for the majority of the sport's most famous race by the Mediterranean, but he bravely held off the challenge from Sebastian Vettel and Lewis Hamilton to take the chequered flag.

Vettel, who harassed the Red Bull car before conceding defeat in the closing stages of Sunday's glamorous grand prix, cuts Hamilton's championship lead to 14 points. Kimi Raikkonen finished in fourth with Valtteri Bottas fifth for Mercedes.

Ricciardo has excelled at the principality this weekend, and on the basis of topping every practice and qualifying session before executing a perfect start and his one and only stop for tyres, looked destined to march to glory.

But trouble suddenly struck for the 28-year-old with 50 of this 78-lap marathon race remaining when he reported a loss of engine power.

Vettel was soon all over the back of Ricciardo's injured Red Bull, and there would be more alarming news to come for the Australian.

"Will it get better," a desperate Ricciardo asked over the team radio. "Negative, Daniel," came the gloomy response from his race engineer Simon Rennie.

Ricciardo was denied a certain victory at the principality two years ago when his team botched up a regulation pit stop, and his triumph hung in the balance for much of the two hours.

But for all of the tracks to nurse a power issue, Monte Carlo would be the venue of choice given its lack of straights, and that is virtually impossible to overtake.

And Ricciardo used all of his know-how and racecraft to keep Vettel at bay. The gap as the German crossed the line was more than seven seconds.

For defending champion Hamilton, it was an unusually quiet race. The Brit spent much of his outing grumbling about his tyres, but he will take comfort from losing only three points to Vettel given this is one of Mercedes' bogey tracks.

Ricciardo should have been joined on the podium by Max Verstappen, but Sunday's race was a case of damage limitation from the 20-year-old Dutchman after he started from last place following his practice crash.

Verstappen made an impressive, and crucially error-free start, progressing six places in the opening eight laps before making his way into the points shortly before the midway stage.

He would cross the line in ninth to recover some pride following his fifth major error in the six rounds this season here on Saturday.

There was some late drama when Monaco-born Charles Leclerc crashed into the back of the Toro Rosso of Brendon Hartley which led to the deployment of the virtual safety car.

But it would have no bearing on the result as Ricciardo joined Vettel and Hamilton on two wins apiece from the first six rubbers.

"Unf*****believable," Ricciardo's team boss Christian Horner said. "Give Prince Albert a shoey," he added.