The distance between Sicily and Puglia is approximately 344 miles (554 km), depending on your starting and ending points in the regions. While most travelers choose to fly, you can also drive for a more scenic journey, or take the train. 
Flying is the quickest way to get from Sicily to Puglia. There are daily flights between Catania and Bari, most of which connect through Rome. There are also flights from Palermo to Bari. Flying times are between one to four hours, depending on layovers. Driving (with a rental car or private transfer) is the second-fastest option—it will take you about seven hours to drive from Catania to Bari, which includes a 30-minute ferry crossing.
The third option for travel from Sicily to Puglia is via the train, and it is also the slowest. You can take a train out of both Catania and Palermo, but both require at least two transfers and can take upwards of 15 hours. Many travelers opt for the overnight train to Rome, which regularly receives mixed reviews.
When exploring Sicily consider a self-driving tour, which includes visiting Mount Etna, Europe’s largest active volcano. The coastal region of Puglia has some of the best beaches in all of Italy, many of which are also relatively uncrowded.

By Air

Duration: 1-4 hours (depending on layovers)
Both Palermo and Catania have daily flights to Bari, which is the capital of the Puglia region. There are minimal nonstop flights, usually one a day, which take just over an hour. Most of the flights connect through Rome, which will add at least another hour or two to your trip. Flying time from Catania to Rome is approximately 1.5 hours and the flight from Palermo to Rome is about an hour.  The connecting flight from Rome to Bari is another hour. Most routes have at least a 1-hour layover in Rome.

By Car

Duration: 7 hours
Driving from Sicily to Puglia takes about seven to eight hours, depending on if you leave from Palermo or Catania. If you drive from Catania, you’ll take the A18 and A20, with a 30-minute ferry ride in Villa San Giovanni-Messina that connects you to the mainland. From there, you’ll be on the E45 and SS534. If you leave from Palermo, you’ll take the E90 and A20, again hopping on the ferry in Villa San Giovanni-Messina, then connecting to E45 and SS534.

The drive will take you almost directly through the small town of Policoro, which is about five hours from Catania and six hours from Palermo. This is a great place to stop and grab a bite to eat, stretch your legs and check out some of the sights. While the town itself has a small population, there are several decent restaurants and bars, as well as museums such as the Museo Archeologico Nazionale della Siritide and the historic Archeoart. 

By Train

Duration: 13-15 hours
Train travel between Sicily and Puglia is the slowest option, and often the most cumbersome. You can expect at least two train changes, and occasional long layovers at connecting cities. From Catania, you can connect through Napoli or Salerno and Caserta, or venture up to Rome and then over to Bari.

All train routes from Sicily involve a ferry transfer, in which the train car is loaded onto the ferry and transported across. While some travelers enjoy the overnight train from Catania to Rome, it has been known to be loud and not very restful, so you may want to avoid that option. If you want to break up the trip, you can travel to Rome, which takes 9 -10 hours, and overnight before continuing on to Bari the next day, which takes another four hours.


Map of How to Get from Sicily to Puglia
Map of How to Get from Sicily to Puglia