Rescuing boats assist the River Countess tourist boat (centre). (AFP)

A massive cruise ship lost control as it docked in Venice Sunday, crashing into the wharf and hitting a tourist boat after suffering an engine failure.

Tourists on land could be seen running away as the 13-deck MSC Opera scraped along the dockside, its engine blaring, before knocking into a tourist boat, amateur video footage posted on Twitter showed.

Four people were slightly injured in the accident at San Basilio-Zattere in the Venice's Giudecca Canal, port authorities said.

The four, who were taken to hospital for check-ups, were on board the River Countess tourist boat that was rammed.

The Opera, which suffered mechanical trouble before in 2011 during a Baltic cruise, can carry over 2,500 passengers and boasts a theatre, ballroom and waterpark for children.

"The MSC ship had an engine failure, which was immediately reported by the captain," Davide Calderan, head of a tugboat company involved in accompanying the ship into its berth, told Italian media.

"The engine was blocked, but with its thrust on, because the speed was increasing," he said.

The two tug boats that had been guiding the ship into the Giudecca tried to slow it, but one of the chains linking them to the giant snapped under the pressure, he added.

"Move Cruise ships"

The accident reignited a heated row in the Serenissima over the damage caused to the city and its fragile ecosystem by cruise ships that sail exceptionally close to the shore.

While gondoliers in striped T-shirts and woven straw hats row tourists around the narrow canals, the smoking chimneys of mammoth ships loom into sight behind the city's picturesque bell towers and bridges.

Critics say the waves the ships create are eroding the foundations of the lagoon city, which regularly floods, leaving iconic sites such as Saint Mark's Square underwater.

"What happened in the port of Venice is confirmation of what we have been saying for some time," Italy's environment minister Sergio Costa wrote on Twitter.

"Cruise ships must not sail down the Giudecca. We have been working on moving them for months now... and are nearing a solution," he said.

Venice's port authority said it was was working to resolve the accident and free up the blocked canal.

"But from tomorrow we need to move, all together and as quickly as possible, to resolve the cruise ship traffic problem," said Pino Musolino of the North Adriatic Sea Port Authority.

MSC Cruises, founded in Italy in 1960, is a global line registered in Switzerland and based in Geneva.

The Opera, built 15 years ago, suffered a power failure in 2011 in the Baltic, forcing some 2,000 people to be disembarked in Stockholm rather than continuing their Southampton to Saint Petersburg voyage.