Unless you're flying, arriving in Sicily involves a ferry crossing. Regular car/passenger ferries cross the Strait of Messina (the 3km stretch of water that separates Sicily from the Italian mainland) between Villa San Giovanni and Messina, or Reggio di Calabria and Messina. Ferries also sail to Sicily from Genoa, Livorno, Civitavecchia, Naples, Salerno, Cagliari (Sardinia), Malta and Tunisia.
Caronte & Tourist Car ferries to Messina from Villa San Giovanni.
Liberty Lines Hydrofoils to Messina from Reggio Calabria.
Meridiano Lines Car ferries to Messina from Reggio Calabria.
For detailed timetables, see www.trasportisullostretto.it.
During the high season, all routes are busy and you'll need to book several weeks in advance. The helpful search engine Traghetti Online provides comprehensive route details and an online booking service.
For Palermo, high-season fares (for an adult and car) start at approximately €91 from Genoa, €119 from Civitavecchia, and €93 from Naples. From Naples to Catania, fares start at around €58. Crossing the Straits of Messina costs from €13 to €37 depending on the vehicle, number of passengers and routing. Fares can increase sharply during peak periods.
Note that although you do not need to show your passport on internal routes, you should still keep photo ID handy.
Caronte & Tourist Ferries to Messina from Salerno.
Grandi Navi Veloci Ferries to Palermo from Civitavecchia, Genoa, Naples and Tunis.
Grimaldi Ferries to Palermo from Livorno, Salerno and Tunis.
Liberty Lines Runs summer-only hydrofoils to Trapani and Ustica from Naples
Siremar Ferries to Milazzo and the Aeolian Islands from Naples.
Tirrenia Ferries to Palermo from Naples and Cagliari.
TTT Lines Ferries to Catania from Naples.
Virtu Ferries Ferries to Pozzallo from Malta, with connecting bus service to Catania.