Heavy rainfall overnight left much of central Milan under several centimetres of water, with authorities warning that the river Seveso was close to bursting its banks.
Some roads were closed for floods or fallen trees, while some cars found themselves stranded in flooded underpasses. Traffic was backed up throughout the city, with disruption also reported on trains and trams.
Allagamenti e forti disagi a Milano, paralizzata da piogge torrenziali. Decine gli interventi dei Vigili del fuoco. Critica la situazione in diverse aree della Lombardia pic.twitter.com/B1e9245mIJ
— Tg3 (@Tg3web) October 21, 2019
The storms reached Genoa and other parts of the north-west coast early on Monday morning, battering the region with winds of nearly 120 km/hour.
Many of the city's schools were closed as a precaution, as reports came in of fallen trees, blackouts and flooding near Genoa airport.
Flooding in Albenga, near Savona. Photo: Arpal (Agenzia Regionale per la Protezione dell'Ambiente Ligure)/Facebook
Two rivers flooded near the town of Albenga in the province of Savona, where more than a centimetre of rain fell in the space of just five minutes.
Italy's Civil Protection Department placed the central zone of the coastal Liguria region on its maximum red alert for extreme weather until 3 pm on Monday, warning of potentially dangerous flash floods.
— Dipartimento Protezione Civile (@DPCgov) October 20, 2019
The rest of Liguria and parts of Lombardy and Piedmont were put on orange alert, while Emilia-Romagna, Tuscany and Valle d'Aosta were on yellow.
It's the second time in a week that the north-west has been hit by heavy rain.
This autumn is already shaping up to be one of Italy's wettest on record. According to an analysis by farmers' association Coldiretti, Italy has seen the equivalent of three storms a day in recent weeks – 18 percent more than the same period last year.