Heading to Puglia (also known as Apulia) this year for some summer sun? This region in the south east of Italy is home to a heady combination of white sand beaches, stunning coastal scenery, historic villages, baroque towns, and vibrant turquoise seas.
This is a beach-lover’s guide to where to stay in Puglia and it will cover:
Once a rustic and little-visited part of Italy, Puglia has really grown in popularity as a tourist destination over the past few decades thanks to the arrival of budget flights.
And it’s no surprise – it has a unique appeal, a rich culture, and abundance of charm. Most visitors to Puglia come for the beautiful architecture, with the beaches are merely a bonus. But Puglia has over 800km of coastline and is to some of Italy’s most beautiful white sand beaches and rocky seascapes.
The characteristic towns are a mix of whitewashed medieval and sandstone Baroque. Pale tonal hues and ornate facades abound, with a lingering Greek influence. Many of the popular destinations are inland but there are also some lovely fishing villages and harbour towns.
By and large, the best beaches are in or near functional resort areas. They are highly seasonal, plenty of campsites, lidos (beach clubs), and traditional 2 and 3-star beach hotels aimed squarely at the domestic crowd.
The medieval towns are awash with lovely hotels and guesthouses though. And lots of the regions masseria (farmhouses) have been converted to boutique resorts.
They are likely to be very busy (and hot) during the summer break in July and August, and feel dead outside or even close down completely outside these months. Beach cleaning is often performed by the occupying lidos and is patchy in unorganised areas.
Shortlist – Best Places to Stay in Puglia
- BEST LUXURY HOTELS: Borgo Engazia, Borgobianco Resort & Spa, Hotel Relais La Sommita
- BEST HOTELS ON THE BEACH: La Peschiera, Grotta Palazzese Beach Hotel, Canne Bianche Lifestyle & Hotel
- LOVELIEST VILLAS: Villa Infinity (Castro)
- BEST INFINITY POOLS: Capase Resort, Posia Luxury Retreat & Spa
- BEST SANDY BEACH RESORTS: Porto Cesareo, Pescoluse, Torre Canne, Otranto, Vieste, Peschici
- MOST BEAUTIFUL COASTAL PLACES: Monopoli, Gallipoli, Polignano a Mare, Giovinazzo, Molfetto, Trani, Castro, Vieste
- BEST CHIC RURAL ESCAPES: Masseria Le Torre, Masseria Torre Coccaro
- BEST BOUTIQUE TOWN HOTELS: Hotel Don Ferrante
- BEST PLACES FOR NIGHTLIFE: Bari, Brindisi, Gallipoli, Otranto, Lecce
Which Part of Puglia to Stay In?
The two main cities in Puglia – and gateways to the region – are Bari and Brindisi. The other major city of note is the gorgeous Lecce, a university city with well-preserved baroque buildings.
Most of the tourist attractions in Puglia are located in the Salento Peninsula. If you’re looking at a map of Italy, his is the ‘heel’. The Salentine Peninsula is sandwiched between two seas – the Adriatic on the north side, and the Ionian on the south.
- Spur of Italy: Wild and beautiful Gargano National Park with several beach resorts, popular with Italians.
- North Coast (Adriatic): Main cities and a rocky coastline with many small sandy coves, limestone cliffs (particularly around Otranto) and picturesque fishing towns. A cycle path runs the length of this coast.
- South Coast (Ionian): Miles of incredible white sand beaches backed by dunes, but the resorts are functional and bland.
- Interior: Dominated by olive groves and, to the north, grain crops. Many beautiful medieval villages including the famous beehive houses.
Train and bus: Puglia is relatively well connected by train and certainly you should be able to reach the highlights with a little research. There’s a route that runs along the north coast to Lecce with a few branches inland and to the south coast. Don’t forget to validate your ticket before getting on the train.
For exploring the smaller villages inland or the quieter beach areas you’ll need a car. Rental is common. To drive across the peninsula often involves small country roads, route times are longer than you might expect.
Local buses can be tricky to pin down as often there isn’t an official schedule.
Ferry: Connections to Greece and the Balkans are available at Bari and Brindisi, see Ferryhopper for more information.
The Salento Peninsula’s south coast is where you’ll find the blockbuster sandy beaches and flat resort towns surrounded by sparkling seas and low-lying shrub.
Taranto is a port city with a less-than-salubrious reputation and an abundance of historical sites.
You’re unlikely to choose it as a base – its golden-hued old town sits on an artificial island surrounded by apartment blocks and heavy industry – but there’s enough to occupy you for a day trip, including an archeological museum, an atmospheric harbour, fish markets, local life, and fantastic Aragonese fortifications.
To the north is one long dune beach that starts at Lido Azzurro and keeps going deep into Basilicata. Head to the Blue Flag Marina Ginosa if this sounds up your street.
The family-friendly resort vibe begins to the south at Spiaggia di San Vito and Lido Bruno. There are several camping villages and plenty of budget B&Bs around here.
Transfer time: 1 hour from Brindisi Airport.
Porto Cesareo is one of the most popular beach towns in Puglia. The main beach here – Torre Lapillo – is a whopping 18km and has a shallow sandy bottom that extends far out to sea. These lagoon-like waters form a protected marine park and its fine sands give it a tropical feel.
To the south there are several smaller bays as well a mini archipelago of uninhabited islets just offshore.
The town is also home to a large fishing fleet and plenty of seafood restaurants. It’s very popular with Italian tourists – particularly families with small children – and in July and August is packed to the gills. There are lidos to suit every style, including the stylish Bahia.
The Massaria Corda Di Lana Hotel & Resort is the standout hotel in the area. It’s just a 5-minute drive from town, and has access to private beaches.
The stretch of coast between Taranto and Porto Cesareo is packed with clean, quiet, and unorganised dune beaches such as Spiaggia di Borraco, Campomarino, San Pietro in Bevagna, and Torre Colimena.
Transfer time: 50 minutes from Brindisi Airport.
The fishing village of Gallipoli is the ideal combination of seaside location and whitewashed villages so typical of the Puglian interior.
The fortified medieval old town – which has Ancient Greek roots – sits on a limestone island that you reach via an arched bridge. It’s the prettiest place to stay on the Ionian Coast. There’s even a natural park at the end of the bay, with trails through the dunes and camping facilities. Some sections of the bay (notably Samsara) come alive with beach parties in the summer.
As well as electric blue seas and colourful fishing boats, it has a generous sweep of golden sand. And there are some lovely boutique places to stay such as:
If you don’t mind being out of town, the Grand Hotel Costa Brada has a beachfront location.
Highlights to the north of Gallipoli include the quieter Padula Bianca beach, and the smaller village Santa Maria al Bagno with a wilder section of coast
Transfer time: 1 hour from Brindisi Airport.
Pescoluse is one of the best sandy beach resorts in Italy, not just Puglia. It’s known as ‘the Maldives of Italy’ for its gently shelving turquoise waters which are Blue Flag rated.
The beach of soft white sand extends for 4km and is backed by dunes. It’s organised and lively in the summer months with a number of lidos. The Instagram crowd head to the Lido MaldiVe de Salento for daybeds, pictured above. The village itself is small and tourism is mainly domestic and highly seasonal.
Top hotel pick is the relaxed rural retreat Relais Masseria Sant’Antonio, a short walk from the beach.
Or traditional landscaped beach hotel Tenuta Li Fani Residence has a pool.
Transfer time: 1 hour 25 minutes from Brindisi Airport.
Santa Maria di Leuca
The well-heeled coastal town Santa Maria di Leuca (or just Leuca) is located on the southernmost tip of the heel. This is where the Adriatic and Ionian seas converge and it has long been a site of strategic importance.
There are a few beach clubs along the palm-lined promenade and a buzzing marina.
The beaches around Pescoluse are a short drive away – just over 10 minutes – so the two are easily combined. Boat trips around the rocky shorelines at the end of the peninsula are a popular pasttime.
Transfer time: 1 hour 30 minutes from Brindisi Airport.
The tip of the heel, between Leuca and Otranto, is the Costa Otranto coastal park studded with grottos and coves.
Cute Castro is a medieval fishing village in an exceptionally scenic part of the coast, with ragged green-flecked hills, a clifftop Norman castle, and azure seas.
As with many settlements in the region, it was originally founded by the ancient Greeks. It’s small and charming, and there’s little to do but relax, eat, and enjoy la dolce vita and the surrounding vistas.
There’s no proper beach to speak of, but if you enjoy swimming off rocks and going on boat trips you’ll be in heaven.
There’s a cluster of good 4-star hotels:
Transfer time: 1 hour 15 minutes from Brindisi Airport.
Santa Cesarea Terme
The coastal spa town of Santa Cesarea Terme is just north of Castro (10 minutes in the car) and is notable for its thermal springs and elegant clifftop architecture with colourful Moorish influences. It’s quite different to the rest of Puglia.
The sulphurous water and picturesque landscapes attract tourists year-round. As you might expect from an established spa town, there are several upmarket hotel options:
Up the coast is the sleek Capase Resort which has a fantastic infinity pool.
Transfer time: Transfer time: 1 hour 15 minutes from Brindisi Airport.
On the eastermost tip of Puglia is the popular resort town of Otranto, a Puglian gem and one of the nicest coastal towns in Italy.
This harbour town is loaded with atmosphere and surrounded by excellent beaches and seascapes. It has been an important port since Roman times. Landmarks include its pentagonal castle, a Romanesque cathedral, and the pale streets of its stone old town and bastion.
Otranto is also a short distance from Lecce so ideal if you’re after a combination of beach and culture.
There is a town beach as well as the stunning white sand beaches north at Baia di Turchi and Torre dell’Orso. And don’t miss a visit to the famous swimming hole Grotta di Poeti.
And for facilities, the rural Masseria Mongio dell’Elefante has a pathway that leads to the Baia di Turchi beach.
Transfer time: 1 hour 10 minutes from Brindisi Airport.
The beautiful city of Lecce is known as ‘the Florence of the South’ for its abundance of medieval architecture. In soft light the page golden sandstone which seems to glow golden in the sun. Tourism here hasn’t yet reached the level of its northern namesake, so for now it has an unspoiled and laid-back feel. Lecce is a university city and you can expect plenty of cafes and wine bars.
Landmarks include the Roman amphitheatre, Lecce Cathedral, and city’s many ornate church facades.
It’s not by the coast but it’s only a short drive away. Lecce is popular base for exploring the peninsula as the location is relatively central and many road routes go via Lecce anyway.
There are many charming historic places to stay, including glam neutrals at the 5-star mansion Patria Palace Lecce, and the 4-star Dimora Storica Torre Del Parco 1419 which occupies a central medieval fortress.
Just outside town, the Masseria & Spa LuciaGiovanni has a large pool, spa and Moroccan theme.
Transfer time: 40 minutes from Brindisi Airport.
The port city of Brindisi is one of those places often used purely as gateway – most visitors don’t stick around. But it’s prettier than you might expect (despite suffering heavy bomb damage in WWII), with a charming compact old quarter, a fortress, and palm-lined streets.
It makes a good day trip, but if you’re exploring Puglia by public transport then it’s not a bad base either. Most of the hotels cater to business travel and those using the ferries – top pick is the Grande Albergo Internazionale which has a central seafront location and 24 hour reception.
Regular buses run between Brindisi and its small airport.
There are some fantastic sandy beaches north of Brindisi such as Torre Guaceto and the Dune Costiera Natural Park.
Transfer time: 15 minutes from Brindisi Airport.
Stunning medieval Ostuni is known as The White City for its whitewashed spendour that’s popular with international tourists. One of the most enchanting sights in Puglia is Ostuni’s chalky buildings rising up above the surrounding olive groves, illuminated by the golden hour.
As with Lecce, it’s not coastal but it’s only a 15 minute drive to the fishing village of Marina di Ostuni for sea air and swimming. The coast around here is very rocky.
The 5-star Paragon 700 Boutique Hotel & Spa has everything you could want – central location, 18th-century building, frescoed ceiling, classy bar, and landscaped pool and gardens.
And the 5-star Hotel Relais La Sommita has Michelin-starred dining and a spa.
Transfer time: 40 minutes from Brindisi Airport.
Savelletri, Torre Canne, and Fasano
Torre Canne is a beach resort on the coast between Brindisi and Monopoli. It has an old harbour and sandy town beach, and is located at the end of a long stretch of beach near the Dune Costiera Natural Park. It has campsites and summer facilities.
The beachfront Canne Bianche Lifestyle & Hotel is a good pick for sunseekers.
A short drive up the coast is Savelletri, a small traditional fishing village a short drive from Fasano, an upmarket inland town in the heart of an agricultural area. This is masseria country and the area boasts a generous handful of luxury hotels such as the Masseria Torre Coccaro and Borgo Egnazia.
Transfer time: 40 minutes from Brindisi Airport.
Monopoli is a handsome fortified harbour town on the north coast, known for its fleet of photogenic blue fishing boats, street markets, and white-gold buildings. The shore is rocky with many small sandy beaches to discover.
It has a lively buzz and many visitors pop in for the day to lunch at one of the excellent seafood restaurants.
Accommodation is clustered in the old town where you’ll find plenty of sleek airy suites in dreamy hotels guesthouses:
Transfer time: 50 minutes from both Bari and Brindisi airports.
Polignano a Mare
The photogenic citadel town of Polignano a Mare is one of Puglia’s coastal draws. It’s known for its dramatic position atop limestone cliffs, bright teal waters, and an increasingly famous small pebble cove. The streets of its old quarter are dotted with arts and crafts shops.
The beach (Calo Poro) has become a crazily popular photo spot and gets very busy during the Italian summer break.
There are lots of smart hotels and guesthouses in Polignano a Mare but prices are at a premium for the area, especially if you want to take advantage of wonderful sea views.
Boutique rooms include:
The Calapone Hotel is a short distance out in the country and has a sleek design and pool.
Transfer time: 50 minutes from Bari Airport.
As with Brindisi, many visitors land at Bari airport and bypass the port city completely. But it’s worth stopping by this regional capital for a day or even a weekend break.
Bari is a major port and cruise ship hub. But it also has a charming old town area, a Norman castle, bustling piazza, a waterfront promenade, good shopping, and some fantastic food. Compared to the honeypot villages it doesn’t feel too touristy and you can taste a slice of city life on a street food tour or pasta-making class.
Beach-lovers are better served in other parts of Puglia, especially if you favour sand, but there are lido beaches just outside town. They are expensive and busy in high season.
The airport is 11km out of town. Trains, public buses, and shuttle buses are available.
Transfer time: 30 minutes from Bari Airport.
North of Bari
The coastline north of Bari is home to a strong of picturesque harbour towns and cities. This section of coast is less visited than the Salento Peninsula and it isn’t as crowded or touristy as Monopoli and Polignano a Mare. But it still has a vibrant atmosphere in the summer months – ideal if you’re looking for a small town feel but not too quiet.
They tend to have fortified seafronts and pale rose-gold buildings, as well as a few small beaches if you’re prepared to go looking.
Transfer time: 30 minutes from Bari Airport.
Gargano National Park
The Gargano Peninsula is the ‘spur’ of Italy’s boot. It’s a national park and home to some of the most stunning coastal scenery in Italy.
The landscape here is more rugged and mountainous, with a lush greenness and dazzling cliffs that resemble those across the sea in Corfu. Somehow, it’s not that well-known amongst international visitors.
Beaches are either sandy or pebbly but scenic – standouts include Matinatella, Vignanotica, Manaccora, Pergola, Varcaro, and Zagare (pictured below).
The main towns to stay in are Vieste, Rodi Garganico, and Peschici. Accommodation is mostly small and traditional.
- Manfredonia is 1 hour 45 minutes from Bari Airport.
- Vieste is 2 hours 30 minutes from Bari Airport.
Another off-the-beaten-track destination is the small Tremiti archipelago which is also part of the Gargano National Park.
There are 5 islands in the group, although 3 are uninhabited, and they’re approximately 12km offshore.
The Tremiti islands have a dark history as being a place of confinement. Today, San Domino is a tourist destination (it has the best beach) and San Nicola is the main island and cultural heart of the archipelago.
The islands are very quiet and very beautiful. You can catch a boat to the islands from the main resorts in the Gargano.
4-star Hotel Kyrie is one of the few hotels with a pool and also has access to a private cove.
Click to save to Pinterest:
Costa Otranto marine park: © jsk12 / Adobe Stock
Puglia resort map: © The Mediterranean Traveller
Ionian coast: © EnricoPescantini / Adobe Stock
Porto Cesareo: © BrunoBarillari / Adobe Stock
Gallipoli: © kite_rin/ Adobe Stock
Pescoluse: © Balate Dorin / Shutterstock
Castro: © e55evu/ Adobe Stock
Santa Cesarea Terme: © dante1969/ Adobe Stock
Otranto: © arkanto/ Adobe Stock
Otranto beach: © jsk12/ Adobe Stock
Lecce: © luigi/ Adobe Stock
Brindisi: © eunikas/ Adobe Stock
Monopoli: © Mi.Ti. / Shutterstock
Polignano a Mare: © Marco Saracco
Bari: © MZaitsev / Adobe Stock
Trani: © Mi.Ti. / Adobe Stock
Vieste: © StevanZZ/ Shutterstock
Zagare: © kite_rin / Adobe Stock
Tremiti: © vololibero/ Adobe Stock