The decision comes days before a UNESCO meeting which is proposing that Venice be added to the list of endangered heritage sites.
Large cruise ships are to be banned from the historic centre of Venice from August 2021, according to the Italian government.
The decision comes days before a UNESCO meeting which is proposing that Venice be added to the list of endangered heritage sites. The city was originally put on the heritage list in 1987 and hailed as an "extraordinary architectural masterpiece".
Italian Prime Minister Mario Draghi is determined not to risk causing irreparable damage to the lagoon city.
“The decree adopted today represents an important step for the protection of the Venetian lagoon system," said Draghi in a statement.
From August onwards, ships will be diverted to the city's industrial port of Marghera, rather than passing through the protected area.
It's a historic win for activists who have been calling for cruise ships to be banned from sailing past the iconic St Mark's Square and down the central Giudecca Canal for a number of years.
In our changing climate, sea levels are rising so a city such as Venice, which is also sinking, is particularly susceptible to such changes.
The enormous vessels pose environmental and safety risks to the canal and the sinking city. Some weigh over 81,000 tonnes and carry hundreds of thousands of passengers to and from Venice on a yearly basis.
The ban is a “necessary step to protect the environmental, landscape, artistic and cultural integrity of Venice,” said Infrastructure Minister Enrico Giovannini.
Giovannini also announced that there would be compensation for those who lost out from the change in law and that 157 million euros would be invested in the Marghera port.