Puglia without a car: a 6-day train and bus itinerary
Six days from Bari to Lecce by train and bus, via Polignano, Monopoli, Alberobello, Locorotondo and Ostuni. Which operator runs which line, where FSE is running replacement buses in 2026, and what it all costs.
Yes, you can see Puglia's best-known towns in six days without a car, as long as you work from three bases (Bari, Monopoli and Lecce) and accept that the Valle d'Itria is the slow part. Trenitalia's coastal mainline links Bari, Polignano a Mare, Monopoli, Ostuni and Lecce often and cheaply. The inland trulli towns rely on Ferrovie del Sud Est (FSE), and parts of that network run as buses. Plan your Alberobello day for a weekday, check FSE's current notices the night before, and don't count on doing much by rail on a Sunday.
Who runs which line
- Trenitalia (mainline): Bari Centrale – Polignano a Mare – Monopoli – Fasano – Ostuni – Brindisi – Lecce. Regional trains stop everywhere. Intercity and Frecciarossa trains are faster but skip smaller stations and cost more. Timetables and tickets are on trenitalia.com.
- Ferrovie del Sud Est (FSE): Bari – Putignano – Alberobello – Locorotondo – Martina Franca, plus the Salento lines from Lecce to Gallipoli, Maglie, Otranto and Gagliano del Capo. Check fssudest.it for timetables and service notices.
- Ferrotramviaria (Ferrovie del Nord Barese): the airport rail link between Bari Palese airport and Bari Centrale. See ferrotramviaria.it.
What's running as buses right now
FSE's winter timetable started on 14 September 2026. According to regional press coverage, several stretches still run as bus sostitutivi (replacement buses). These include Putignano – Martina Franca on weekdays, which covers Alberobello and Locorotondo, and Maglie – Otranto on weekdays. A new pair of direct Bari – Alberobello – Martina Franca trains was also added. Earlier in 2026, the Bari – Putignano line via Conversano closed for engineering work from 7 April to 13 July and was replaced by buses. It returned to full train service from 13 October. Because of the PNRR-funded upgrades, closures like this are frequent. Treat any timetable you find online as provisional until you've checked FSE's notices.
Six-day itinerary
- Day 1, Bari. Take the airport train to Bari Centrale. It takes about 15 minutes, and Trenitalia lists 34 daily connections and a €5.30 fare. Walk to Bari Vecchia to see the Basilica di San Nicola and the women making orecchiette in the lanes behind it, then the seafront promenade at sunset. Sleep in Bari.
- Day 2, Alberobello and Locorotondo (day trip). Take an early FSE departure from Bari. Depending on the day and the timetable, that's either a direct train or a train to Putignano plus a connecting bus. Allow roughly 1.5 to 2 hours each way. Go early to see the Rione Monti trulli before the tour groups arrive, then continue one stop to Locorotondo for its whitewashed circular old town and views over the valley. If you'd rather avoid Alberobello's crowds, Martina Franca, at the end of the line, has a fine baroque centre. Return to Bari.
- Day 3, Polignano a Mare and Monopoli. Take a regional train to Polignano, about 30 minutes and typically around €3. See the cliff-top old town and Lama Monachile cove. In the afternoon, continue to Monopoli, under 10 minutes away. Monopoli is calmer, with a working harbour and small town beaches. Sleep in Monopoli.
- Day 4, Ostuni, then on to Lecce. Monopoli to Ostuni takes about 20 to 30 minutes. Ostuni station is a few kilometres below the white town, so take the local bus or a taxi up. Travel light: you will be carrying your bag up and down, and luggage storage is not guaranteed. In the late afternoon, take a regional train to Lecce, about 50 to 60 minutes.
- Day 5, Lecce. Spend a full day on Lecce's baroque centre: Santa Croce, Piazza del Duomo and the Roman amphitheatre. Lecce is compact and walkable, and it's the best value of the three bases.
- Day 6, Otranto, or departure. If your flight leaves in the evening, you can do a morning trip to Otranto with FSE. On weekdays, that means rail to Maglie and then a replacement bus. In summer, FSE has historically run more direct services. Brindisi airport is closer to Lecce than Bari is, so consider flying out from there.
Typical journey times and fares
These are indicative ranges from operator pages and timetable aggregators as of November 2026. Fares and times vary by train type and change with each timetable, so always check the live price.
| Route | Operator | Time | One-way fare |
|---|---|---|---|
| Bari airport – Bari Centrale | Ferrotramviaria | About 15 min | About €5.30 |
| Bari – Polignano a Mare | Trenitalia | About 20–45 min | About €3 regional, more on Intercity |
| Bari – Alberobello | FSE (train or train + bus) | About 1.5–2 hr | Roughly €5–10 |
| Monopoli – Ostuni | Trenitalia | About 20–30 min | A few euros, regional |
| Ostuni – Lecce | Trenitalia | About 50–60 min regional | About €7 regional, €11+ Intercity |
| Bari – Lecce (direct) | Trenitalia | About 1 hr 20 min–1 hr 45 min | Roughly €10–15 regional, €20–45 Frecciarossa |
Where to base yourself
- Bari (2 nights): this is the hub for both Trenitalia and FSE, so day trips inland are simplest from here. Stay near Bari Centrale or the Murat district to keep your walk to the station short.
- Monopoli (1 night): it's quieter and usually cheaper than Polignano, and it sits on the mainline.
- Lecce (2 to 3 nights): you need this base for the Salento. It's the end of the Trenitalia line and the start of the FSE branches.
If you want somewhere less obvious than Alberobello, you could stay a night in Locorotondo or Cisternino. Be aware that without a car, connections out are thin, especially at weekends.
Sundays, holidays and off-season service
- FSE runs a much thinner service on Sundays and public holidays. Some lines have few or no trains, and replacement buses may also be reduced. Avoid scheduling the Valle d'Itria or Otranto on a Sunday.
- Trenitalia regional timetables also mark many trains as weekday-only. Look for notes like "non circola la domenica" (doesn't run on Sundays) in the journey details.
- Outside summer, some seasonal buses and extra coastal services don't run. Trenitalia changes its timetable in mid-December and again in June.
- Buy and, for paper regional tickets, validate your ticket before boarding. Replacement buses leave from outside the station, sometimes from a stop that isn't obvious, so get there early.
Best time to go
Late April to June and September to mid-October are the sweet spots. The sea is warm enough for swimming, and prices are below the August peak. August is hot, crowded and expensive, especially in Polignano. November to March is quiet and cheap, but expect shorter opening hours, shuttered beach towns and the reduced transport described above.
Rough budget
This is a mid-range estimate per person for six days and five nights, sharing a double room and excluding flights. Prices rise sharply in July and August.
| Item | Estimate (EUR) |
|---|---|
| Accommodation, 5 nights at about €55 per person per night | €275 |
| Food and drink, about €45 a day | €270 |
| Trains and buses, all legs including airport | €45–60 |
| Sights, local buses, taxis and extras | €60 |
| Total | About €650 (about US$750) |
Before you go
- Check FSE's service notices for the week you travel, especially for Putignano – Martina Franca and Maglie – Otranto.
- Put the inland day and the Otranto day on weekdays.
- Use regional trains on the coast. They're cheap, frequent and stop at the smaller towns that faster trains skip.
- Consider flying into Bari and out of Brindisi so you don't have to backtrack.
- For background on the towns and current events, see the official Puglia tourism portal, viaggiareinpuglia.it.
Bottom line: the coast is easy by train. The Valle d'Itria works by train and bus if you go on a weekday and check FSE the night before.