Apulia (Puglia) is the sun-drenched heel of Italy's boot, stretching along the Adriatic and Ionian coasts with over 800 km of coastline, centuries-old whitewashed towns, and a food culture that rivals anywhere in the country. Home to two UNESCO World Heritage Sites — the iconic trulli of Alberobello and the enigmatic Castel del Monte — Apulia blends Norman castles, Baroque Lecce stonework, and ancient masserie (fortified farmhouses) into an unforgettable landscape.
Apulia's public transport covers the main city corridor (Bari–Brindisi–Lecce) reliably. For the trulli villages, Gargano, and Salento coast, a rental car unlocks the region fully. The FSE regional network covers the Valle d'Itria. In cities, use walking, local buses, or taxis.
Transport at a glance
Airport transfers
Getting from the airport to your accommodation.
- Items
- {'airport': 'Bari Karol Wojtyla Airport (BRI)', 'options': [{'method': 'Tempesta Express Bus', 'route': 'BRI to Bari Centrale station', 'duration': '35 min', 'cost': '€5 (~$5.40)', 'notes': 'Runs every 30–60 min; buy ticket on bus or online at tempesta.it'}, {'method': 'Taxi', 'route': 'BRI to Bari city centre', 'duration': '20 min', 'cost': '€25–35 (~$27–37.80)', 'notes': 'Fixed rate to city applies; use only official white metered taxis'}, {'method': 'Train (Ferrovie Bari-Nord)', 'route': 'BRI terminal to Palese station, then to Bari Centrale', 'duration': '25 min total', 'cost': '€2.80 (~$3.05)', 'notes': 'Shuttle bus to Palese station runs to/from terminal; check fsnord.it'}]}, {'airport': 'Brindisi Airport (BDS)', 'options': [{'method': 'SITA Bus', 'route': 'BDS to Brindisi train station', 'duration': '20 min', 'cost': '€1.50 (~$1.65)', 'notes': 'Buses timed to most flights; buy ticket at airport kiosk'}, {'method': 'Taxi', 'route': 'BDS to Brindisi city centre', 'duration': '15 min', 'cost': '€15–20 (~$16.20–21.60)', 'notes': 'Fixed-rate agreement common with white taxis outside arrivals'}]}
Local transport
Getting around the city.
Items
Taxis & rideshare
What to expect from taxis and apps.
- Items
Intercity travel
Getting between cities and regions.
Items
- Route
- Bari – Lecce
- Operator
- Trenitalia / Italo
- Duration
- 1h 25 min (direct)
- Cost
- €10–15 (~$10.80–16.20)
- Frequency
- Hourly
- Notes
- Book at trenitalia.com for discounts. Fast trains take 1h 05 min.
- Route
- Bari – Alberobello
- Operator
- FSE (Ferrovie del Sud-Est)
- Duration
- 1h 15 min
- Cost
- €4.50 (~$4.85)
- Frequency
- 8–10 times daily
- Notes
- Charming rural train through olive groves; check fse.it
- Route
- Bari – Brindisi
- Operator
- Trenitalia
- Duration
- 1h 15 min
- Cost
- €8–12 (~$8.65–12.95)
- Frequency
- Hourly
- Notes
- Direct IC and regional services
- Route
- Lecce – Otranto
- Operator
- FSE
- Duration
- 55 min
- Cost
- €4 (~$4.30)
- Frequency
- 5–7 times daily
- Notes
- Check fse.it — limited Sunday service
- Route
- Bari – Foggia (for Gargano)
- Operator
- Trenitalia
- Duration
- 1h 10 min
- Cost
- €8–13 (~$8.65–14)
- Frequency
- Hourly
- Notes
- Then bus from Foggia to Vieste or Mattinata (2h; 3–4 times daily)
- Route
- Taranto – Lecce
- Operator
- Trenitalia
- Duration
- 1h 10 min
- Cost
- €7–10 (~$7.55–10.80)
- Frequency
- Hourly
- Notes
- Useful for day-tripping Taranto from Lecce
Transportation details
Full breakdown of how to get around.
Apulia is served by two international airports and a regional train network. A car is strongly recommended for exploring beyond the main cities — the Valle d'Itria, Gargano peninsula, and Salento beaches are poorly served by public transport. Train travel between Bari, Brindisi, and Lecce is fast and affordable.
Airports
Useful apps
Download before you arrive.
Transport tips
Travel smarter, not harder.
Book Trenitalia tickets online at trenitalia.com up to 90 days in advance — early booking discounts of 40–60%
The FSE Ferrovie del Sud-Est regional train pass costs ~€12/day unlimited and covers Bari–Alberobello–Locorotondo–Martina Franca–Lecce
ZTL (Limited Traffic Zones) apply in historic centres — check ZTL signs and confirm with accommodation reception before driving in Lecce, Ostuni, or Bari Vecchia
Autostrada A14 tolls: Bari–Taranto €3.80; Bari–Foggia €7.20; Bari–Brindisi €5.10 (approx — pay via Telepass or cash at tollbooths)
In summer (July–August) coastal parking is scarce and expensive — use park-and-ride areas outside town and walk or take shuttle buses