The incident sparked calls for a ban on large cruise liners in the lagoon city.
The Costa Deliziosa, 294 metres long and with 12 decks and the capacity for 2826 passengers, was seen swerving frighteningly close to land and other boats in the middle of a thunderstorm while sounding its emergency horn.
The nail-biting incident unfolded as the ship was being guided out of port by tug boats along the Giudecca Canal.
“We saw her coming almost on top of us,” one witness, Alberto Peratoner, told Italian news agency ANSA.
“It was at the moment when the storm was at its most intense... [the ship] was having visible difficulty manoeuvring and was heading for the San Biagio dock, veering slightly towards the Sette Martiri dock.”
Peratoner added that a collision was only averted because one of the tug boats pulled heavily to the right, away from shore, and managed to drag the liner clear.
Costa Cruises, the company that operates the Costa Deliziosa, described the incident as a “detour” caused by a “violent, extraordinary and sudden meteorological event” .
“The captain always maintained control of the ship even in conditions of extreme and sudden difficulty,” the company said in a statement, adding that the ship had resumed its course to its planned destination.
Local authorities are investigating the incident and checking whether the ship had followed safety procedures.
The matter is also being looked into at a national level.
“I have arranged an immediate ministerial inspection to verify what happened in Venice,” Italy’s transport minister, Danilo Toninelli, said.
“After 15 years of nothing, we are close to a solution for keeping big ships out of the San Marco basin.
“And we’ll do it protecting safety, the environment, tourism and jobs.”
But the mayor of Venice, Luigi Brugnaro, on Monday slammed Toninelli for failing to take action over the cruise ship crisis.
“The time for waiting is over,” he said.
“We’re very angry.
“Enough of boats on St Mark’s and in the Giudecca Canal.
“Minister Toninelli should come here as soon as possible to tell citizens’ institutions about the results from the umpteenth check he ordered.
“Dear minister, how much longer do we have to wait?"
Thousands of people protested in Venice last month after another giant cruise ship lost control and rammed into a wharf in the Giudecca Canal.
The MSC Opera suffered an engine failure, scraped along the dockside and knocked into a luxury tourist boat, injuring four tourists.