Getting from Rome to Puglia takes anywhere from 55 minutes by plane to around 6 hours by train, depending on where in Puglia you’re heading. The region is long — Rome to Bari and Rome to Lecce are two very different journeys — so the right option depends on your destination, your budget, and how much flexibility you need.
Here’s a clear comparison of every option, with times, prices, and a recommendation for each type of traveller.
Best ways to travel from Rome to Puglia
| Option | Time to Bari | Time to Lecce | Price from | Best for |
|---|---|---|---|---|
| ✈️ Plane | ~55 min + transfers | ~55 min + transfers | €30–€80 | Speed, travellers flying in |
| 🚆 Train | ~3h15 | ~5h45 | €19–€60 | Comfort, no car needed |
| 🚗 Car | ~4h30 | ~5h30 | €40–€60 tolls + fuel | Families, flexible itineraries |
| 🚌 Bus | ~5h | ~7h | €15–€35 | Budget travellers |
🚗 Rome to Puglia by Car
Driving from Rome to Puglia is a great option for those who want to see the sights along the way and have the freedom to stop whenever they like. The distance between Rome and the entrance to Puglia is approximately 320 kilometers, and the journey takes around 4 hours. There are two possible routes:
Driving gives you the most flexibility — no timetables, no connections, and your car waiting for you when you arrive. It’s the best option if you’re travelling as a family, carrying luggage, or planning to explore beyond the main cities.
Rome to Bari: approximately 450 km, 4h30 by motorway via the A24 to Pescara then A14 south. This is the fastest and most direct route.
Rome to Lecce: approximately 560 km, 5h30 by motorway. Follow the same A24/A14 route to Bari then continue south on the A14/SS16.
Rome to Salento (Gallipoli, Otranto): add 45–60 minutes beyond Lecce depending on your final destination.
Alternative route via Naples: Take the A1 south towards Naples, then the A16 east towards Puglia. This route is 30–45 minutes longer but allows a stop in Caserta to visit the Royal Palace — a UNESCO World Heritage Site worth the detour if you’re not in a rush.
Toll costs: expect to pay €35–€55 in motorway tolls each way, depending on your route and vehicle type. Budget around €60–€80 total for tolls plus fuel for a Rome–Lecce journey.
On arrival: parking in Bari and Lecce city centres is restricted. Both cities have well-organised paid car parks just outside the ZTL zones — use those and walk in. A car becomes essential once you’re in Puglia if you want to reach the best beaches, smaller towns, and the countryside.
While the motorway is the quickest way to travel, it can be expensive due to tolls. If you’re on a budget, consider taking the scenic route along the Adriatic coast. This will take longer, but you’ll get to see some of Italy’s beautiful coastline.
⭐ Rent Your Car
Search rental deals with Rentalcars — easy and hassle-free.
✔ Instant confirmation
🚆 Rome to Puglia by Train
The train is the most comfortable option and drops you in the centre of Bari or Lecce without the stress of driving or transfers from a distant airport. Trenitalia’s high-speed and intercity services cover the Rome–Puglia route throughout the day.
Rome Termini to Bari Centrale: approximately 3h15 on a fast Frecciabianca or Intercity service. Trains run several times daily. Tickets from around €19 booked in advance, rising to €35–€60 closer to departure.
Rome Termini to Lecce: approximately 5h45 direct, or change at Bari for a slightly faster connection. Tickets from around €25 in advance.
Rome Termini to Foggia (northern Puglia / Gargano): approximately 3 hours. Useful if you’re heading to the Gargano coast or the Tremiti Islands.
Book directly at Trenitalia.com or compare options and prices across operators on Omio — particularly useful if you’re connecting from another European city.
💡 Tip: Book at least a week ahead for the best fares. Frecciabianca prices increase significantly closer to departure. Regional trains are cheaper but add 30–45 minutes and require a change at Bari for southern destinations.
✈️ Rome to Puglia by Plane
Flying is the fastest option — wheels up to wheels down in under an hour — but factor in airport check-in time, transfers, and the distance of both Puglia airports from the city centres before assuming it saves you time overall.
Bari Karol Wojtyła Airport (BRI): 11 km from Bari city centre. Served by ITA Airways, Ryanair, and seasonal carriers from Rome Fiumicino (FCO) and Ciampino (CIA). The Ferrotramviaria shuttle connects the airport to Bari Centrale station in around 20 minutes. Flights take 55–65 minutes.
Brindisi Airport of Salento (BDS): 38 km from Lecce, around 40 minutes by car or taxi. The better option if you’re heading directly to Salento — Lecce, Gallipoli, Otranto. Served by ITA Airways and Ryanair from Rome. Flights take around 55 minutes.
Is flying worth it? For Rome to Bari, probably not once you add check-in time and airport transfers — the train is comparable door to door and significantly less stressful. For Rome to Lecce or Salento, flying to Brindisi saves around 2 hours compared to the train and is worth considering, especially if fares are reasonable.
Search and compare flights on Skyscanner or book direct with ITA Airways or Ryanair.

🚌 Rome to Puglia by Bus
The bus is the cheapest way to get from Rome to Puglia but also the slowest. Journey times vary significantly by destination and operator — budget for 5 hours to Bari and up to 7–8 hours to Lecce or Salento.
The main operators are FlixBus, Marino Bus, and Itabus. All depart from Roma Tiburtina bus station, which is on Metro Line B and well-connected to the city centre. Services run daily, with more frequency in summer.
Approximate fares: Rome to Bari from €15–€25. Rome to Lecce from €20–€35. Booking in advance online gives the best prices — last-minute bus tickets can be surprisingly expensive.
The bus makes most sense if budget is the primary consideration and you have time to spare. For anything else, the train offers comparable or lower prices with significantly better comfort and shorter journey times.
💡Compare schedules and book on Omio or directly at flixbus.com.
FAQs
By plane — the flight itself takes under an hour. However, when you factor in check-in time, airport transfers, and baggage collection, the total door-to-door time is often 3.5–4 hours. For Rome to Bari specifically, the high-speed train (3h15 from Rome Termini to Bari Centrale) is competitive with flying once all transfers are counted. For Rome to Lecce or Salento, flying to Brindisi is likely the faster option overall.
It depends on the mode of transport and how far in advance you book. The bus is cheapest from around €15. Train tickets start from €19 to Bari and €25 to Lecce booked in advance. Flights start from around €30 on low-cost carriers but can reach €80–€120 in peak summer. Driving costs €40–€60 in tolls plus fuel, making it reasonable for two or more people splitting costs.
Yes, for most itineraries. The train and bus get you to Bari, Lecce, or Foggia, but the best of Puglia — the smaller towns, the beaches, the Gargano coast, the Itria Valley — requires a car. If you’re spending more than two or three days in the region, pick up a rental on arrival.
It depends entirely on your destination. Bari airport is better for northern and central Puglia — Alberobello, Polignano a Mare, the Itria Valley, Castel del Monte. Brindisi airport is better for Salento — Lecce, Gallipoli, Otranto, and the Ionian and Adriatic coasts. If your itinerary covers both areas, Bari in and Brindisi out (or vice versa) works well and avoids backtracking.
✈️ Your Trip Planning Checklist
✅ Book your flights: Find the best airfare deals with Skyscanner or Aviasales.
🏨 Secure your stay: Compare hotel rates easily on Booking.com or Hotellook.
🛡️ Don’t forget travel insurance: Stay protected with Ekta or VisitorsCoverage — reliable and flexible options.
🎟️ Book tours & experiences: I always use Get Your Guide or Viator for unforgettable activities, skip-the-line tickets, and local adventures.
🚗 Need a car? Search rental deals with Rentalcars and DiscoverCars — easy and hassle-free.
🚕 Taxi or transfer? Pre-book your ride with WelcomePickups or GetTransfer for a smooth arrival.
🚆 Traveling by train or bus? Check schedules and book tickets in advance with Omio.
