The ferry was carrying around 150 people.
The hydrofoil, operated by Italian state railways, was approaching Messina after crossing the Strait of Messina from Reggio Calabria.
Samiani said: "We haven't been able to contact the commanders" of the vessels, "the bridge of the hydrofoil was destroyed so there is no communication with it."
Gaetano Pellizzeri, a state railways official in Calabria, said about 55 people were injured, at least three of them seriously.
Some of the passengers, their faces bloodied, were carried on stretchers to ambulances at the port.
Italian news reports said that the cargo ship was Antigua-flagged.
Calabria, the "toe" of the boot-shaped Italian peninsula, is linked to the island of Sicily by air and sea routes.