The distance between Tuscany's renaissance capital of Florence and the rugged southern region of Puglia is approximately 350 miles (563 km). Flying is the fastest way to make the journey, but the lack of non-stop service from Florence to Puglia means the trip requires some extra steps before reaching the cities of Bari or Brindisi in two to four hours.
Travel via train is an affordable and relatively straightforward option, heading down the Adriatic coast and arriving in Bari, Brindisi, or Lecce in five to seven hours. Driving a rental car takes the longest at seven to eight hours, but allows the option of breaking up the journey overnight, and sightseeing in multiple regions along the way.
Once in Puglia, a rental car is the best way to get the most out of your visit, allowing the freedom to explore both coasts, and visit major cities as well as national parks and rural villages. Help plan your route with our laidback 8-day itinerary of the region’s highlights.
Duration: 3 to 5 hours
The fastest method of reaching Puglia is by plane, though the lack of direct flights from Florence requires multiple steps. The more expensive option is to fly directly from Florence’s Peretola (FLO) Airport to Bari Palese (BRI) via Alitalia airlines, with a connection in Rome. Prices are higher and there’s the added delay of a layover, but the flying time is under two hours. Florence Peretola is 15 minutes from the center by taxi, and 20 by bus (the Vola in Bus runs from the central Santa Maria Novella station to the airport every 30 minutes).
The alternative is to take a train, shuttle, or private transport to Pisa, about 50 miles (80 km) to the west, and catch a non-stop budget flight from there. Ryanair flights reach Bari Palese (BRI) in 1:25 and Brindisi Salento (BDS) in 1:40. Trains from Florence’s Santa Maria Novella station connect to Pisa’s Centrale in about an hour, with a 5-minute shuttle ride via PisaMover connecting the station with the airport.
Upon arrival, Bari’s airport is 10 minutes from the center via the easy Ferrotramviaria train, or 30 minutes by bus or taxi, with Tempesta Autoservizi shuttle buses departing hourly for central Piazza Aldo Moro.
Brindisi’s airport is just 15 minutes from the center by bus (ATP buses depart every 30 minutes) or taxi. Also available at the airport is the Pugliaairbus, which shuttles passengers to Lecce in 40 minutes, and to Taranto on the opposite coast in just over an hour.
Duration: 5.5 to 7 hours
The fastest way of reaching Puglia by rail requires one change of trains in Rome. While the journey by train is slower, it’s an affordable option that offers fewer steps than flying. Trenitalia’s high-speed Frecce line travels from Florence’s Santa Maria Novella station to Rome’s Termini in under 1.5 hours. From there, change to the direct Frecce train towards Lecce, which reaches Bari in 4 hours, Brindisi in 5, and Lecce in 5.5.
Trenitalia's modern Frecce trains are comfortable for longer trips, with air-conditioning, wifi, and food available on-board. Tickets can be purchased ahead online, which is recommended during high-season and holidays.
By Rental Car or Private Transfer
Duration: 7 to 8 hours
Puglia is a full day’s drive from Florence, but renting a car for the journey can be a good choice for those who want to incorporate a wider itinerary into their trip, and experience multiple regions and landscapes along the way.
Driving within Florence is not recommended—it’s a daunting prospect even for locals, and most central rental agencies are located within the restricted ZTL zones. Instead, head to the airport (15 minutes by taxi or bus) and pick up there; it offers the widest choice in terms of available cars and allows drivers to skirt the city and exit directly onto the A1 autostrada.
There are two main driving routes, depending on which area of Puglia is your first destination. The A1 (Autostrada del Sole) runs due south from Florence through Tuscany, Lazio, and Campania, cutting across Basilicata to reach Puglia from its western border, arriving at Taranto on the Ionian coast in about 7.5 hours.
Alternatively, drivers can head south from Florence on the A1, then turn off onto the Raccordo Autostradale 6 Bettole-Perugia, to head east across the scenic heart of Umbria towards the Adriatic. From there the A14 (Autostrada Adriatica) hugs the coast before reaching Bari in about seven hours, with the option to continue south towards Brindisi and Lecce.