A bus carrying foreign tourists including Ukrainians has crashed off an elevated street near the Italian city of Venice, killing at least 21 people and injuring 18 others, authorities said.

Four of the injured were in serious condition after the accident in the Mestre borough, on the mainland opposite the historic old city of Venice, said Renato Boraso, a Venice city official.

Two of the dead were children, Venice prefect Michele Di Bari said.

Mr Boraso confirmed that some of the victims were Ukrainian and said the bus was taking tourists to a camping site.

Venice mayor Luigi Brugnaro said the scene of the crash was “apocalyptic” and he had already declared the “city’s mourning” for the “numerous victims” on the bus.

Italy Bus Crash
Police at the scene of the crash (Italian State Police/AP)

According to local media, the bus fell a few metres before crashing close to Mestre’s railway tracks, where it caught fire. Emergency crews were on the scene.

Italian premier Giorgia Meloni expressed her “deepest sorrow” after the crash.