Puglia

Puglia (Apulia)

Puglia rail lines map

Rail map © James Martin, Wandering Italy.

Why visit

Puglia is Italy's sun-drenched heel, offering some of the country's best food, most striking coastline, and most distinctive architecture — all without the crowd pressure of Tuscany or the Amalfi Coast. The region has a pace of life that feels genuinely southern Italian: long lunches, evening passeggiata, and towns that exist for their residents rather than tourists. Mid-June to early July is ideal timing, as the summer rush has not yet peaked and temperatures hover around 25-30 °C.


Best towns and cities

Bari

Puglia's main rail gateway and biggest city. The old town (Bari Vecchia) is famous for street life — women still make orecchiette by hand outside their doors along Strada delle Orecchiette. Atmospheric harbour, a long lungomare, and one of Italy's liveliest old-town food scenes. Not as charming as Lecce or Polignano but worth a day for the markets and street food.

Crowds: Moderate — a big working city absorbs visitors; Bari Vecchia core busy midday but never feels like a tourist set-piece.

Market: Bari Vecchia market behind the lungomare — fresh fish, produce, street food. The orecchiette-makers are a sight in themselves.

Walking: Bari Vecchia tight-laned but compact; Centro Murattiano (grid city south of old town) is the modern, easier part. Station has taxi rank; metro + buses available.

Getting there: Bari Centrale is the main IC/Frecce hub for the region — Frecciarossa/Italo from Rome (~4 h), Naples (~3.5 h), Bologna (~5–6 h).

Lecce

Known as the "Florence of the South," Lecce is a baroque masterpiece carved from soft golden limestone. The centro storico is dense with ornate churches, hidden courtyards, and excellent restaurants. Despite its reputation, it remains far less visited than comparable cities in central Italy. The Roman amphitheatre in Piazza Sant'Oronzo is casually integrated into the town square, with locals sitting on its steps in the evening. A natural base for exploring the Salento peninsula.

Crowds: Moderate–high in the baroque core, but the city's size disperses them and evenings fill with locals too. Busier than the small inland towns, calmer than Polignano/Alberobello.

Market: daily covered market near Piazza Libertini. Pasticciotti at Mazzini bar are the local pastry institution.

Walking: Roman amphitheatre, Duomo, Santa Croce all within a ~500 m loop. Station has taxi rank.

Getting there: IC/Frecce station with direct Frecciargento from Rome (~5.5h) and Frecciabianca from Bari (~1.5h).

Ostuni

The "White City" sits on a hilltop overlooking olive groves that stretch to the Adriatic. Its whitewashed old town is a tangle of narrow alleys, staircases, and unexpected viewpoints. Ostuni has more tourist infrastructure than some neighbours but remains manageable in mid-June. The surrounding countryside — masserie (fortified farmhouses), dry-stone walls, ancient olive trees — is quintessential Puglia.

Crowds: High in peak — the most touristed of the inland towns. Mid-June still manageable; July fills fast, especially evenings. Go early in the day.

Walking: station 3 km below centro storico — taxi/bus up, then explore in short segments.

Getting there: Station on the Adriatic line (regional from Bari ~1h, some IC trains stop here). The town centre is 3 km uphill from the station — take the local bus or a taxi.

Locorotondo

A circular hilltop town in the Itria Valley with a near-perfect centro storico of whitewashed houses topped with grey conical roofs (cummerse). Far quieter than nearby Alberobello, Locorotondo offers panoramic views across the trulli-dotted valley. Excellent local white wine (Locorotondo DOC) and a handful of genuine trattorias. One of the most photogenic small towns in southern Italy.

Crowds: Low–moderate — quiet compared to nearby Alberobello; daytime coach traffic is light and it stays residential.

Walking: panoramic loop ~600 m once at top; park or taxi to edge of centro storico.

Getting there: FSE regional line from Bari (~1.5h, not covered by Interrail, ~5 EUR). Alternatively, Trenitalia regional to Fasano then bus or taxi (~15 min).

Cisternino

An Itria Valley hill town quieter and more residential than Alberobello or Ostuni, famous for bombette — pork rolls grilled to order at the town's macellerie-fornello (butcher-grills), eaten on the spot. Whitewashed centro storico with valley views over the trulli countryside. One of the most genuine Itria bases for food over sightseeing.

Crowds: Low — lived-in and far calmer than the nearby tourist-circuit towns, even in summer evenings.

Walking: compact centro storico in short segments. Cisternino Città FSE station is the close one and walkable to the centro; the Trenitalia "Cisternino" station is remote (countryside) — use FSE Città or taxi.

Getting there: FSE Bari–Martina Franca line (not covered by Interrail, ~5 EUR). Coast (Ostuni/Monopoli area) 15–20 min by car.

Martina Franca

The largest of the Itria Valley hill towns and an 18th-century baroque set-piece — graceful palazzi, the ornate Basilica di San Martino, and a strong restaurant scene. Capocollo di Martina Franca (cured pork) and the crisp Martina Franca DOC white are the local specialities. Bigger and busier than Locorotondo/Cisternino but still well short of Alberobello's crowds.

Crowds: Moderate — more visitors than Cisternino/Locorotondo but dispersed by the town's size; stays residential.

Walking: baroque centro (Piazza Plebiscito, Palazzo Ducale, San Martino) compact and walkable in short segments. FSE station below the centro — taxi rank for the station–centro hop.

Getting there: FSE line from Bari (~2h) and the south end via Taranto; ~14 min by train to Alberobello (not covered by Interrail, ~5 EUR).

Ceglie Messapica

A designated Città della Gastronomia on the southern edge of the Itria Valley — the area's serious food town, from rustic trattorias to tasting menus. Local sweet is the Biscotto Cegliese (almond + cherry-jam, Slow Food protected); a big food festival runs in August. Less curated and less visited than Ostuni, Cisternino, or Martina Franca.

Crowds: Low — the least touristy of the Itria towns; genuinely local.

Walking: compact centro storico in short segments; station outside town — taxi to the centro.

Getting there: FSE to Lecce/Brindisi via Francavilla Fontana, or a direct STP bus from Ostuni (~20 min); not covered by Interrail. Car best.

Polignano a Mare

A dramatic cliff town perched above turquoise coves on the Adriatic coast. The old town is small but striking, with balconies hanging directly over the sea. Polignano has gained popularity in recent years, so visiting on a weekday or early morning is advisable. Good gelato tradition (it is the birthplace of the gelato chain Grom's founders).

Crowds: High — one of Puglia's most touristed spots, busy even in June. Visit weekday early morning; midday and weekends the old town and Lama Monachile pack out.

Beach — Lama Monachile: iconic cove beach tucked between two cliff walls, directly below the old town. Reached via ~100 steps each way. Alternative: stay topside and view from the terrace.

Walking: Lama Monachile descent ~100 steps each way. Topside loop short.

Getting there: Regional train from Bari, ~25 min. Some IC trains also stop here.

Monopoli

A working fishing port with an atmospheric old town, a small castle, and several accessible beaches within walking distance. Monopoli has the feel of a real town rather than a curated tourist stop. Less polished than Polignano but more liveable, and a good base for both coast and countryside.

Crowds: Moderate — real-town feel, noticeably lighter than Polignano even in summer. Old town and lungomare busy on weekend evenings but never overwhelmed.

Beaches: Cala Porta Vecchia (sandy, in town), Porto Ghiacciolo (sandy, just south), plus rocky bathing spots along the lungomare.

Market: Sunday fish market near the harbour — well worth timing a visit around.

Walking: old town, port, fish market, and Cala Porta Vecchia beach all close together.

Getting there: Regional train from Bari, ~30-40 min. Some IC trains also stop here.

Conversano

A hilltop town inland from the coast, well placed as a single base for the Bari-province sights without the day-tripper crowds of Polignano or Alberobello. Dominated by the Castello di Conversano (Norman-Aragonese castle) and the Romanesque Cattedrale di Conversano, with a walled centro storico and the small Lago di Conversano nearby. Genuine local food town (Murgia cuisine, olive oil) — cheaper and more authentic than the coast.

Crowds: Low — inland and off the main day-tripper circuit; genuine residential town even in summer. One of the calmer bases in central Puglia.

Why a base: central to the trulli+coast triangle — Polignano a Mare ~10 km, Monopoli ~15 km, Alberobello ~20 km, Bari ~30 km. Day-trip radius covers most of central Puglia from one bed. No beach in town, though — coast swims need transport each time, so a coast base (Monopoli) may suit better if beaches are the priority.

Walking: centro storico — castle, cathedral, piazza — in short segments. FSE station has a taxi rank; no shared e-scooters (taxi for the station–centro hop).

Getting there: FSE regional line Bari ↔︎ Putignano/Martina Franca (not covered by Interrail, ~5 EUR). Coast towns (Polignano, Monopoli) reached via the Bari hub on the Trenitalia Adriatic line. Car still best for the trulli countryside.

Alberobello

The famous trulli district — clusters of white conical stone houses — is a UNESCO World Heritage Site. The Rione Monti quarter is undeniably touristy, but the town is worth a half-day visit to see this unique architecture. Walk beyond the main trulli zone into the Aia Piccola neighbourhood, which is residential and far quieter. Best visited early morning or late afternoon.

Crowds: Very high — Puglia's biggest day-tripper and coach-tour magnet; Rione Monti is packed and heavily commercialised midday. Only worth it early morning or late afternoon, and keep the visit short (half-day). Aia Piccola side stays quiet.

Walking: Rione Monti walkable in 400 m segments with shop/café stops. Aia Piccola side similar.

Getting there: FSE line from Bari (~1.5h, not covered by Interrail, ~5 EUR). Alternatively, bus from Locorotondo or Fasano, or car.

Matera (technically Basilicata, but easily combined)

Just across the regional border, Matera's ancient sassi cave dwellings are extraordinary. The town was a European Capital of Culture in 2019 and has been carefully restored. Directly reachable from Bari by train (Ferrovie Appulo Lucane, about 90 minutes). Worth at least one full day.

Crowds: High — a major draw since the 2019 Capital of Culture year; the sassi and main belvederes are busy and accommodation books out early. Less of a day-tripper churn than Alberobello (people stay), but far from quiet. Book ahead.

Walking: sassi descents far exceed 500 m. Stick to upper-town belvederes (Piazza Vittorio Veneto, Piazzetta Pascoli) for views; hire a 4x4 sasso tour or accessible Ape Calessino for inside-the-sassi access.

Getting there: FAL train from Bari (~90 min, not covered by Interrail, ~5 EUR). Also reachable by SITA or Flixbus from Bari.

Torre Guaceto

Protected marine reserve north of Brindisi. Clear water, limited daily access keeps it uncrowded — among the best swimming on the Adriatic coast of Puglia.

Crowds: Low — capped daily access inside the reserve keeps it uncrowded by design, even in high summer. One of the few Puglia beaches that stays calm in July.

Beach: sandy beach inside the reserve, very clean shallow water, low development.

Walking: carpark ~1 km from main beach via scrub path; bike hire and electric shuttle (summer) bridge the distance.

Getting there: car required. Nearest stations are Carovigno and Brindisi. Carovigno itself works as a quieter, better-value base than Ostuni (~8 km away) and is the closest town to the reserve — a car is still needed for the beach.

Otranto + Salento Beaches

The eastern tip of the heel. Otranto itself is a walled coastal town with a striking mosaic-floored cathedral and a small castle. South + west of it lie Puglia's best-known beaches:

Crowds: Otranto high in summer (busy walled centro, peaks July–Aug); mid-June calmer. The famous Ionian beaches — Punta Prosciutto, Marina di Pescoluse, Baia dei Turchi — get very crowded in July–August; go early or stick to June. Porto Selvaggio stays wilder and quieter (no facilities).

Walking: Otranto centro compact and walkable. Punta Prosciutto, Marina di Pescoluse, Baia dei Turchi have parking close to sand; lido drop-off. Porto Selvaggio has a ~800 m pine-forest path with benches.

Getting there: Otranto reachable by Lecce–Otranto regional line (~1 h). Other beaches need a car from Lecce or Otranto.

Taranto

The "city of two seas" on the Ionian — the Città Vecchia old town sits on an island between the Mar Grande and the Mar Piccolo. Deep Magna Graecia history, and famous mussels (cozze) farmed in the Mar Piccolo. The standout is MArTA, one of Italy's great archaeology museums (Greek gold of Taranto). But this is a heavy industrial port — the vast ILVA steelworks dominate the city and its pollution reputation — so it is gritty rather than picturesque.

Crowds: Low — genuine, un-touristed working city, but for industrial reasons rather than charm.

Walking: Città Vecchia and MArTA reachable in short segments; station has a taxi rank.

Verdict: half-day for MArTA + the old town if you like archaeology — not a base, and not pretty. Major rail hub (Trenitalia + south end of the FSE trulli line).

Brindisi

An Adriatic port, mainly a transit and ferry gateway (boats to Greece and Albania). Its one set-piece is the Colonne Romane, the terminus of the Roman Appian Way, on a pleasant harbourfront. The old centre is thin and there is little to hold a visit.

Crowds: Low as a sight — few come to sightsee, most are passing through.

Walking: harbourfront and Colonne Romane compact; station has a taxi rank.

Verdict: skip as a destination — a junction/airport you pass through (half-day max). Useful logistics: Adriatic line, gateway to the Salento, near Ostuni and Torre Guaceto; Brindisi airport serves the Salento.

Mesagne

A quiet, stylish baroque town just inland from Brindisi, built in a star-shaped plan around a Norman-Swabian castle. Lived-in and largely un-touristed, with a trendy but genuine dining scene (fresh seafood, Salento classics) and strong value on rooms versus the coast. Stands out as one of the best car-free, rail-based bases in Puglia — and the rare town where the station is an easy walk from the old centre.

Crowds: Low — off the beaten track versus Ostuni/Lecce; a real local-evening town.

Beaches: none in town (inland); Adriatic coast 20–30 min by car, or reach coastal towns via the Brindisi mainline.

Walking: Porta Grande and the centro storico are ~600 m (~10 min) from the station along the main road; the whole historic core crosses in about an hour on foot. Restaurants such as Osteria del Leone sit inside the centro.

Getting there: Trenitalia regional (covered by Interrail) — Brindisi 15–20 min (~€1.30), Taranto 50–55 min, Lecce ~1 h via a change at Brindisi. No car needed for the town itself.

Nardò

A baroque town in the deep Salento (~30 km SW of Lecce) — a "mini-Lecce" of golden limestone and ornate churches with a fraction of the visitors. The centre clusters around Piazza Salandra, one of the finest baroque squares in the south. Negroamaro and Salice Salentino wine country.

Crowds: Low–moderate — the town stays calm and residential; its coastal frazioni (Santa Caterina, Santa Maria al Bagno) fill in peak July–August but June is quieter.

Coast: Nardò owns a stretch of Ionian shore — Santa Maria al Bagno, Santa Caterina, and the wild Parco Naturale di Porto Selvaggio (pine-forest park, rocky bays, no facilities).

As a base: Salento-only. Good for Lecce, Gallipoli (~20 km), Otranto, and the Ionian beaches; the wrong end of Puglia for the trulli and the Bari-area coast (Polignano, Monopoli, Alberobello), which are a long haul north.

Walking: baroque centro compact around Piazza Salandra. Car best for the Ionian beaches.

Getting there: Nardò Centrale on the Lecce–Gallipoli regional line (~40 min from Lecce), not high-speed.

Gallipoli

The standout seaside base in the Salento — a fishing town on a small Ionian island linked to the mainland by a bridge, ringed by baroque churches and whitewashed lanes, with a working fish market and a proper sandy town beach. By day it still feels like a fishing village; in July–August it flips into one of Italy's busiest party-and-beach destinations (mostly Italian tourists). Mid-June is the sweet spot — warm sea, calmer restaurants, before the crush.

Crowds: Low–moderate in June; very high July–August (one of the most-searched Italian summer spots). Go before the school holidays.

Beaches: Spiaggia della Purità — small free sandy beach right against the old-town walls, shallow and calm for kids, shaded by the walls late in the day. Rated 4.4 over 3,400+ reviews: water consistently described as clean and clear; the real gripes are midday crowding and natural debris on the sand (olive-tree bark and leaves from the regional Xylella blight, plus the odd bit of plastic) — go in the morning for cleaner sand and more space. The "dirty beach" complaint is a minority view about the sand, not the water. For sunbeds + service, the long white-sand strip at Baia Verde (~3 km south, taxi or summer bus) has the lidi: Lido Rivabella (4.2 — crystal water, shallow for kids, clean washrooms, a free pine-shade strip behind, ~€10 for two sunbeds) and Iris Lido Beach (4.3 — clean, clear water, helpful staff, ~€15–25 umbrella + loungers, food average). Further south lie the wilder nature-reserve beaches Punta della Suina (4.3 — clean sea, but the lido runs €40+ for an umbrella + two beds, with mixed service reports) and Punta Pizzo.

Food: raw-fish antipasti, gambero viola (purple prawns), and scapece (saffron-marinated fried fish).

Walking: old town is a compact knot of lanes, everything within short segments; Spiaggia della Purità is inside it. The FSE station sits near the seafront, a short walk/taxi to the bridge and centro.

Getting there: FSE regional from Lecce (~1–1.5 h, frequent, not covered by Interrail, ~5 EUR); summer "Salento in Bus" also serves it. Car helpful for the southern beaches, not needed for the town.


Food and drink

Puglia is arguably Italy's strongest food region for the price. The cuisine is rooted in peasant cooking elevated by superb raw ingredients.

Signature dishes:

Wine: Primitivo di Manduria (bold red, related to Zinfandel), Negroamaro (the base of Salice Salentino), and the crisp whites of Locorotondo and Martina Franca. Wine is excellent and cheap throughout the region.

Olive oil: Puglia produces roughly 40% of Italy's olive oil. Many masserie offer tastings.

(Markets are listed under their respective towns above.)


Coast & Water

Puglia has over 800 km of coastline along both the Adriatic (east) and Ionian (south) seas. Water in late June: ~22–24 °C, comfortable for swimming. Specific beaches are listed under their nearest town entries above (Polignano, Monopoli, Torre Guaceto, Otranto + Salento beaches). Many of the best beaches are not directly accessible by public transport — a rental car for 2–3 days in the Salento area is recommended for beach-hopping.


Getting around

Arriving by train

Bari is Puglia's main rail gateway. High-speed Trenitalia Frecciarossa and Italo trains connect Bari to:

These high-speed services require a seat reservation with Interrail. Book early, as Puglia-bound trains fill up in summer.

Within Puglia

Trenitalia regional trains (covered by Interrail, no reservation needed) connect:

Ferrovie del Sud Est (FSE): A regional operator running smaller lines through the Itria Valley (Bari - Locorotondo - Martina Franca - Taranto). These trains are slow but scenic and are generally not covered by Interrail. Tickets are cheap (a few euros).

Ferrovie Appulo Lucane (FAL): Connects Bari to Matera (about 90 minutes). Also not covered by Interrail; inexpensive tickets.

Buses: FlixBus and regional STP/SITA buses supplement train routes, particularly for coastal destinations in the Salento.

Car rental: Worthwhile for 2-3 days to explore the Itria Valley (trulli countryside between Locorotondo, Cisternino, and Ostuni) and the Salento beaches, which are poorly served by public transport.


Suggested time

5-7 days is ideal to experience Puglia without rushing.

A possible split:

This fits well within a broader Italian itinerary. Arriving in Bari from Rome or Naples by afternoon train, and departing Lecce southward or back via Bari, keeps rail travel efficient.


Further reading