Most resources on Puglia paint a dismal picture of the region’s public transportation system, though renting a car brings its own set of difficulties. Puglia’s recent surge in popularity has created traffic jams and parking challenges even in remote locations. After traveling through Sicily without a car, we decided to brave Puglia’s transit network to find out where it’s possible to go without endless amounts of patience. During our two-week tour, we discovered surprisingly easy public transportation in much of Puglia, with workarounds for many of the trickier areas.
Historically, Puglia’s topography made it ideal for sheltering marauders, and the transportation network developed piecemeal. Rail service ranges from efficient to erratic to nonexistent. Most visitors will need to mix and match modes of travel according to the specific area, time constraints, and budget. With a bit of flexibility, much of the region can be accessed painlessly without a car. Our guide outlines Puglia’s major destinations and their transportation options. Click on a link below to jump to a specific section. All sites are marked in our Google map.
Transportion Overview: Trains and Buses, Informal Tours
Salento Peninsula: Lecce, Brindisi, Otranto, Gallipoli
Valle d’Itria: Ostuni, Alberobello & Trulli Towns, Grotte di Castellana
Bari and the Coast: Polignano al Mare, Monopoli, Trani, Barletta
Inland Sights: Matera, Castel del Monte
Resources: Regional Rail Networks, Airport Connections
Stretching up from Italy’s south-eastern tip, Puglia’s rocky shores contrast spectacularly with the sea while inland areas remain largely agricultural. The Salento Peninsula juts out at the bottom to make the heel of the country’s boot. The Valle d’Itria forms a transition zone to the broad section dominated by Bari. In the west, Matera lies in the rocky gorges of Basilicata near the border of Puglia. The knob of land known as the Gargano Peninsula forms Puglia’s northern limit. We don’t cover the Gargano in this guide because it remains largely inaccessible by public transport.
When traveling in Puglia without a car, staying near a transportation hub reduces transit time and provides greater flexibility. In the south, Lecce offers the best access to destinations in the Salento, while Bari makes a natural base for everywhere else. Although the Valle d’Itria lies midway between the two cities, the trip from Bari is shorter.
Trains and Buses
Multiple transportation networks operate within different parts of Puglia. While most visitors won’t need to unscramble the alphabet soup of coverage, it’s vital to understand the difference between national and regional services.
Trenitalia, Italy’s national train system, is an easy and reliable way to get around. Trains runs between the region’s larger cities and along the coast near Bari. The TrenItalia app is a game-changer for travelers in Puglia. We used it all the time to view schedules and purchase tickets: no more contending with closed ticket counters, slow machines, long lines, or remembering to validate. Multiple payment options include secure forms such as ApplePay.
By contrast, Puglia’s regional rail services are notoriously slow, infrequent, and daunting to navigate. Routes and schedules change often enough that even recent information can be outdated. We generally avoided regional transit – including buses – though we provide links at the end of the post for reference.
Informal Tours & Drivers
Informal “tours” – a driver taking small groups in a van – can be a great way to get to out-of-the-way destinations. Offices styled as tourist information centers offer various packages, such as the Valle d’Itria and trulli towns, or the Salento coast. These excursions don’t include official guides, and the driver often doesn’t speak much English. As such, they cost less than traditional tours. Prices vary according to the season; we paid €80 per person for a 9-hour tour of the Salento coast in early June. We thought it well worth the expense: we visited Otranto, Santa Cesarea Terme, Castro, Santa Maria di Leuca, Gallipoli, and a few stops at particularly scenic spots along the coast. Our driver Giorgio conveyed information about the region with limited English and went out of his way to be sure everyone enjoyed themselves. In Castro, he bought us regional pastries to sample as we sat on the rocks surrounding a cove with glowing water.
These types of tours aren’t listed online and can’t be booked in advance. We found ours at an office in Lecce’s Piazza Duomo; we spotted similar outfits on Bari’s Corso Cavour and Matera’s Piazza Vittorio Veneto.
Trenitalia offers fast and reliable service to Lecce and Brindisi, with regional network FSE serving the rest of the peninsula. The Trenitalia app works to view schedules and purchase tickets even on FSE lines, but local routes tend to be slow and infrequent. Ticket offices are rare: if you can’t use the Trenitalia app, look for the nearest tabacchi/newstand to purchase tickets. In Lecce, it’s a bookshop in the Trenitalia station.
Lecce’s Baroque architecture is a fantasy-land of carvings mingling with Roman ruins and terraced roofscapes.
Frequent trains from Bari take about 90 minutes. The train station lies about 5 minutes’ walk west of the historic center, while the bus depot (in a parking lot) lies about 5 minutes’ walk north from the Porta Napoli.
See our post on Lecce for more about the city.
Ancient Romans used Brindisi’s port as their major embarkation point for Greece and Asia. Today most visitors pass through the airport and ferry terminal, but few linger to explore the city itself. Largely free of tourists, Brindisi offers a mix of historic sites and palm-lined streets running along its legendary harbor.
Brindisi is about 60 minutes from Bari and about 25 minutes from Lecce by train. The station is a 10 minute walk from the historic center.
Otranto’s historic cathedral, castle, and fishing harbor lure almost as many visitors as the expansive beaches.
Getting to Otranto on public transport requires dedication, as the journey can take more than two hours from Lecce. Train travel on the FSE network involves at least one transfer, a quick switch at Maglie.
We heard about infrequent STP buses running to Otranto from June through September, but they hadn’t started when we visited.
Gallipoli’s centro historico occupies a small island just off the modern city. Founded by the ancient Greeks, it now features mostly Baroque architecture squeezed onto tiny, winding streets. The town’s reputation for beach access, seafood, and nightclubs make it crowded in high season.
FSE regional trains run hourly between Lecce and Gallipoli; the journey takes about 1 hour 40 minutes. Conductors can advise whether a change of trains is necessary en route.
Trenitalia runs to famed hill town Ostuni, with its elegant Baroque architecture and whitewashed buildings spilling down tiny alleyways. When we visited in early June, the town was packed by midday.
Ostuni’s train station lies several kilometers away from the historic center. Instead of attempting the less-than-picturesque walk, we took the shuttlebus waiting outside the train station. (The tabacchi sells tickets, about €1.50 each.) Getting back to the station may require patience. The shuttlebuses don’t always follow the posted schedule, and we had to wait for an hour with minimal shade.
Ostuni lies about 50 minutes from Bari, 20 minutes from Brindisi, or 45 minutes from Lecce by train.
Alberobello & Trulli Towns
Although we would love to see the trulli, multiple travelers we met on our trip warned us about dense crowds in Alberobello – and after Ostuni, we decided to pass.
FSE “Trulli Link” buses leave from Bari Largo Sorrentino (the bus depot adjacent to Bari Centrale), and take just over an hour to get to Alberobello. However, we heard reports of jam-packed buses. Trains take about 90 minutes to two hours, with a change in Putignano.
Local service connects Alberobello with the villages of Locorotondo and Martina Franca.
Grotte di Castellana and the Grotta Bianca
One- or two- hour tours take visitors through Puglia’s legendary natural caves along the sea, the Grotte di Castellana and the Grotta Bianca. Reserve tickets at grottedicastellana.it. To get there, see FSE’s webpage outlining service or look for a package with an informal tour.
Bari and the Coast
Trenitalia runs along the coast, making Bari a great base for day trips. View schedules and purchase tickets on the Trenitalia app. Tickets cost a few euros each depending on the destination. Most train stations lie 10 to 15 minutes’ walk from the historic center.
Bari mixes monumental architecture and grand piazzas with a warren of cobblestoned alleyways. A multi-level waterfront promenade leads to the harbor where the newer city starts.
Getting in and out of Bari is a snap. A tree-lined pedestrian avenue, the Corso Cavour, connects Old Bari to the city’s main rail station; the walk takes about 15 minutes. Bari Centrale links to most major Italian cities, with separate areas for regional train lines and a bus depot nearby.
See our post on Old Bari for more information.
Polignano a Mare
Pictures of Puglia often feature Polignano a Mare. A promenade stretches along cliffs over the sea, backed by small gridded streets. The resort town was mobbed in early June, especially the famous pebble beach.
Train rides south from Bari take about 35 minutes.
One stop on the train from Polignano a Mare, the slightly larger town of Monopoli had some locals mixed in with the tourists. Near the working harbor, a small beach sits next to a historic castle, while several churches feature Romanesque and Baroque architecture.
Monopoli is about 40 minutes from Bari by train.
Many visitors call Trani one of the most beautiful towns in Puglia, and its cathedral ranks among the best examples of the region’s distinctive Romanesque architecture. The centro storico features picture-perfect little streets and piazzas, several fascinating churches and synagogues, a medieval castle, and a classic harbor. Perhaps because its beaches are a bit further out, Trani was much less crowded than Pogliano and Monopoli.
Train rides north from Bari to Trani take about 40 minutes.
Just above Trani, Barletta gets even less attention from tourists – we had its celebrated Norman castle to ourselves. Along with a pair of historic Crusader churches, Barletta holds the Colossus, the largest surviving Roman bronze statue from antiquity.
Barletta is about 45 minutes from Bari and 10 minutes from Trani.
Technically Matera lies in Basilicata, but its proximity to Puglia makes it a popular day trip from Bari. We recommend staying overnight to experience the city at a less frenetic pace – and to enjoy the sunset.
Regional train network Ferrovie Appulo Lucane (FAL) serves Matera with travel time from 1.5 to 2 hours. FAL operates from a separate station adjacent to Bari Centrale with its own scheduling and ticketing system. To access the station, use the underpass from the Trenitalia area inside, or look for signs on the left when exiting Bari Centrale. Vending machines and a tabacchi sell tickets downstairs, while the sole train platform is upstairs. 16 daily departures run to Matera (fewer on Sundays and holidays), with schedules posted in the station and on the FAL website. Note that the route between Bari and Matera often involves switching to a train across the platform in Altamura. The Matera Centrale train station lies about 10 minutes’ walk uphill from the historic center.
Castel del Monte
Frederick II’s octagonal castle is a UNESCO World Heritage site, but it’s extremely challenging to reach without a car. Those willing to spend at least two hours traveling each way from Bari (for a 45-minute castle visit) can take the Ferrovie del Nord Barese regional network to the town of Andria. From there, bus Line 6 runs to the castle. The bus stops only a few times per day at irregular intervals, and we got conflicting schedules from the official website, tourist information office, and other sources. Leery of getting stuck for hours in the isolated location and unable to find an affordable tour, we regretfully chose to forgo the trip.
Regional Rail Services
Official websites provide timetables and schedules. We’ve also linked maps, since most networks (inexplicably) don’t include one on their websites.
Ferrovie del Nord Barese (a.k.a. Ferrotramviaria) – map on website – links Bari to airport and smaller towns just west of Bari.
Ferrovie del Nord Barese (Ferrotramviaria) trains connect Bari’s airport and the city center in about 20 minutes. Several dozen departures run from about 5 a.m. to 11:30 p.m. The Ferrovie del Nord Barese station is on the left when exiting Bari Centrale, and marked with airplane signs.
STP city buses connect Brindisi’s airport to the city center, running every 15 to 30 minutes until 11:30 p.m. Purchase tickets in the terminal building, near the arrivals area. Note: the Via Colombo stop is near Brindisi’s main train station.
Dedicated buses run directly from Brindisi’s airport to Lecce in about 40 minutes. Departures are timed to coincide with plane arrivals, and visitors purchase tickets directly from the driver. Buses stop in a large parking lot about 5 minutes’ walk from the edge of the centro historico. Taxis waiting at the depot will cost about €10, or there is a shuttle (Bus 21, Navetta Foro Boario).