A meeting of the Italian Cabinet agreed that berths for large passenger ships and container ships should be located away from the historic sites of Venice.
Critics say the waves the ships create are eroding the foundations of the historic lagoon city, which regularly floods, leaving iconic sites such as Saint Mark's Square underwater.
Venetians also complain that the massive ships are an eyesore that — with accommodation and dining onboard — undermine the city's tourist economy.
The news was relayed in a tweet by Italian Culture Minister Dario Franceschini, who said the decision would help meet a request by the UN's cultural agency UNESCO.
"A correct decision, awaited for years: the [Italian] Council of Ministers approves a decree-law that establishes that the final landing places of the big ships in #Venice will have to be planned and realized outside the lagoon, as requested by UNESCO," Franceschini tweeted.
Venetians have petitioned against the presence of cruise ships in the busy Giudecca Canal for years.
Previous ban was lifted
After the accident, the city's mayor urged authorities to accelerate the steps required for cruise ships to start using the alternate Vittorio Emanuele III Canal.
In 2013, Italy's government had already banned ships weighing more than 96,000 metric tons from the Giudecca Canal.
The ban was in part a response to the deadly 2012 Costa Concordia disaster, in which the 115,000-ton cruise ship hit a rock formation off the island of Giglio in Tuscany after its captain sailed too close to the shore.
However, that law was later overturned by a regional court, which ruled that safety or environmental risks had not been proven.
The Italian government released an official directive in 2017 to keep the largest cruise ships away from the Piazza San Marco and the entrance to the Grand Canal. Instead, ships over 55,000 tons were expected to follow a specific route through the Vittorio Emmanuele III Canal to an industrial area of the mainland, where a passenger terminal was to be built.
However, the plan was never properly put into effect.