The collision happened around 8:30 a.m. on the Giudecca Canal, a major thoroughfare that leads to the city's famous Saint Mark's Square.
The northeastern Italian city is a tremendously popular site for both tourists and cruise ships, especially during the summer tourist season.
Videos of the crash posted to Twitter show the cruise ship blaring its horn as it rammed into the much smaller river boat as dozens of people ran away in panic.
Some people can also be seen jumping and falling from the river boat as it is hit by the cruise ship that was apparently unable to halt its momentum.
Medical authorities said that four female tourists — an American, a New Zealander and two Australians between the ages of 67 and 72 — were injured falling or trying to run away when the cruise ship rammed into the tourist boat, the River Countess.
Elisabetta Pasqualin told the Associated Press she was watering plants on her terrace when she heard warning sirens and stepped out to see the ship "advancing slowly but inevitably towards the dock."
"There was this huge ship in a diagonal position in the Giudecca Canal, with a tugboat near which seemed like it couldn't do anything," she said.
Pasqualin said the bow of the ship crashed hard into the bank with its massive weight crushing a big piece of it.
"Sirens were wailing loudly; it was a very dramatic scene," she said.
The cruise ship's owner, MSC Cruises, said the ship, the MSC Opera, was about to dock at a passenger terminal in Venice when it had a mechanical problem. Two towboats guiding the cruise ship into Venice tried to stop the massive cruise ship, but they were unable to prevent it from ramming into the river boat.
"The two towboats tried to stop the giant and then a tow cable broke, cut by the collision with the river boat," Davide Calderan, president of a towboat association in Venice, told the Italian news agency ANSA. Calderan added the cruise ship's engine was locked when the captain called for help.
The cruise ship was built in 2004 and has a capacity of 2,150 passengers and weighs 65,591 tons, according to Sky News.
According to its sailing schedule, the cruise ship left Venice on May 26 and traveled to Kotor, Montenegro, and Mykonos, Santorini and Corfu in Greece before returning Sunday to Venice.
Following the accident, calls for banning cruise ships in Venice, long a source of contention in the over-extended tourist city, were renewed. Danilo Toninelli, Italy's transport minister, said that "today's accident in the port of Venice proves that cruise ships shouldn't be allowed to pass down the Giudecca anymore."
Toninelli added, "After many years of inertia, we are finally close to a solution to protect both the lagoon and tourism."
The incident also came days after a cruise liner collided with a pleasure boat on the Danube in Budapest, killing 7 people and leaving 21 missing and presumed dead, according to Reuters.
The Associated Press contributed to this report.