Where to Stay in Puglia: Ultimate Beach Resort Guide (2024 – MAP INCLUDED)

(This post may contain affiliate links. Find more info in my disclaimer)

Heading to Puglia (also known as Apulia) this year for some summer sun? This beautiful region in southeast Italy is home to a heady combination of white sand beaches, stunning coastal scenery, historic villages, baroque towns, divine food, and vibrant turquoise seas.

Here’s a guide to help you figure out the best place for you to stay in Puglia, be it a buzzing beach resort or a handy base for budget adventures.

This is a beach-lover’s guide to where to stay in Puglia and it will cover:

  • map of Puglia’s beach resorts
  • a shortlist of the best hotels in Puglia
  • best beaches and coastal towns
  • a quick overview of the region, its beach scene
  • a guide to each of the main beach resorts in Puglia, in particular highlighting the best sandy beaches, unspoilt areas, and hotels right on the beach

Map of main towns and beach resorts in Puglia.

Shortlist – Best Places to Stay in Puglia

BEST LUXURY HOTELS IN PUGLIA:

BEST BEACH HOTELS IN PUGLIA:

LOVELIEST VILLA: Villa Infinity (Castro)

BEST INFINITY POOLS:

BEST CHIC RURAL ESCAPES:

BEST BOUTIQUE TOWN HOTELS: Hotel Don Ferrante

Where to Go in Puglia

Most of the tourist attractions in Puglia are located in the Salento Peninsula. If you’re looking at a map of Italy, this 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 (pictured above) 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): This is where you’ll find the best 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.

Best Places in Puglia for Beaches :

  • Porto Cesareo
  • Pescoluse
  • Torre Canne
  • Otranto
  • Vieste
  • Peschici

Most Beautiful Coastal Towns in Puglia:

  • Monopoli
  • Gallipoli
  • Polignano a Mare
  • Vieste

Best Place for Nightlife: Porto Cesareo

Scenic Areas: Gargano National Park, Costa Otranto Marine Park, Tremiti Islands

Puglia – What to Expect

Rock formations at the Costa Otranto marine park.
Costa Otranto Marine Park

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 an abundance of charm.

Most visitors to Puglia come for the beautiful architecture, with the beaches 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 holiday destinations are inland but there are also some lovely fishing villages and harbour towns along the coast.

By and large, the best beaches are in or near functional resort areas. They are highly seasonal, with 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 region’s masseria (farmhouses) have been converted to boutique resorts.

Beach resorts in Puglia are likely to be very busy (and hot) during the summer particularly in July and August. You’re more likely to find space on the beach in the shoulder season months of May, September, and October, but even these are busier than they used to be as long as sun is shining. Beach cleaning is often performed by the occupying lidos (beach clubs) and is patchy in unorganised areas.

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.

 

Getting Around

Airports: There are two international airports in Puglia – Brindisi (BDS) and Bari (BRI).

Both airports are served by budget European airlines – check Skyscanner for cheap fares.

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. Driving 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.

You can check train and bus routes on Rome2Rio and book tickets through Omio

Ferry: Connections to Greece and the Balkans are available at Bari and Brindisi, see Ferryhopper for more information.

Ionian Coast

Beach at Porto Cesareo from the sky.

The Salentine Peninsula’s south coast is where you’ll find the blockbuster sandy beaches and flat resort towns surrounded by sparkling seas, beach clubs, and low-lying shrub. 

Taranto

Aeriel view of Taranto.

Taranto is a little-visited port city with a less-than-salubrious reputation but 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 archaeological museum, an atmospheric harbour, fish markets, local life, and fantastic Aragonese fortifications. 

Stay at the charming Hotel L’Arcangelo or at the spacious spa hotel Histo San Pietro Sul Mar Piccolo.

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

Sandy beach at Porto Cesareo.

Porto Cesareo is one of the best beach resorts 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 as 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.

Closer to the action, Hotel Falli and Le Dune Suite Hotel are comfortable modern 4-stars near the water.

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
  • Torre Colimena

Transfer time: 50 minutes from Brindisi Airport.

Gallipoli

Gallipoli town and beach.

The fishing village of Gallipoli is the ideal combination of a seaside town and those 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 south coast and one of the best places to stay in Puglia by the sea.

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 is a 4-star hotel on the beach.

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

Day beds on Pescoluse beach.

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 – it’s one of the best places in Puglia for beach clubs. 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. There isn’t much to do beyond the beach though so for variety you’ll have to look at a bigger town.

Our top hotel pick in Pescoluse 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

View of the harbour at 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 pastime.

There are some smart places to stay around here, including the spacious Approdo Boutique Hotel which has a pool and central location, and the relaxed and rural Montiro Hotel.

Transfer time: 1 hour 30 minutes from Brindisi Airport.

Adriatic Coast

At the tip of the heel, between Leuca and Otranto, is the Costa Otranto Marine Park studded with grottos and coves.

Castro

Castro waterfront.

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

Villa Sticchi in 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.

Otranto

Otranto waterfront.

On the easternmost tip of Puglia, you’ll find Otranto, a Puglian gem and one of the best beach 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.

The main town beach at Otranto.

There is a town beach as well as stunning white sand beaches nearby at Baia di Turchi and Torre dell’Orso. And don’t miss a visit to the famous swimming hole Grotta di Poeti.

For a central location check out Palazzo De Mori, a charming guesthouse inside the old town.

If space is a priority, look at 4-star Vittoria Resort & Spa and Relais Valle dell Idro in the new town.

And for facilities, consider the rural 4-star Masseria Mongio dell’Elefante which also has a pathway leading directly to the impeccable Baia di Turchi beach.

The lovely Masseria Muntibianchi Agriresort is just 4km outside Otranto. And on the coast to the north is the Posia Luxury Retreat & Spa which has a reservable rooftop infinity pool. 

Transfer time: 1 hour 10 minutes from Brindisi Airport.

Lecce

Baroque architecture in Lecce.

The beautiful city of Lecce is known as ‘the Florence of the South’ for its well-preserved abundance of medieval architecture. The city’s pale sandstone glows like gold 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 a vibrant cafe and restaurant scene.

Landmarks include the Roman amphitheatre, Lecce Cathedral, and the city’s many baroque church facades. 

It’s not directly by the coast but the sea is a short drive away. Lecce is a popular base for exploring the peninsula as the location is relatively central and many road routes go via Lecce.

There are plenty of charming historic places to stay in Lecce.

5-star: 

4-star: 

Just outside town, the Masseria & Spa LuciaGiovanni has a large pool, spa and a Moroccan theme.

Transfer time: 40 minutes from Brindisi Airport.

Brindisi

Brindisi waterfront.

The port city of Brindisi is one of those places often used purely as a 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 travellers and those using the ferries – our pick is the 4-star 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.

Ostuni

Scalloped coastline near Ostuni with small beaches.

Stunning medieval Ostuni is known as The White City for its whitewashed splendour 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 rocky with small sandy beaches – the area is known as Costa Merlata.

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 di Fasano and Torre Canne

Torre Canne is a beach resort on the coast between Brindisi and Monopoli, located at the end of a long stretch of beach near the Dune Costiera Natural Park. It has campsites, summer facilities, an old harbour, and a sandy town beach.

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:

Transfer time: 40 minutes from Brindisi Airport.

Monopoli

Monopoli waterfront.

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 shoreline 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 and guesthouses:

Outside town, Playa del Mar is by the sea and has a youthful all-white design. And Dimora Pirella has a small spa.

For space and vibes, 5-star La Peschiera offers cool neutrals and Balearic beach lux a short drive from Monopoli.

Transfer time: 50 minutes from both Bari and Brindisi airports.

Polignano a Mare

Clifftop seafront buildings in 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.

Luxury 5-star Grotta Palazzese is a standout, and they have a beach outpost north of town too – Grotta Palazzese Beach Hotel has a private beach and is the best beachfront hotel in Puglia.

Boutique rooms include:

Inland, the Calapone Hotel is a short distance out in the country and has a sleek design and pool.

And the Borgobianco is a luxurious 5-star masseria with lush pools.

Transfer time: 50 minutes from Bari Airport.

Bari

Bari from the air.

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, a 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 the high season.

The airport is 11km out of town. Trains, public buses, and shuttle buses are available.

The larger hotels are functional. Try the stylish conversion Palazzo Calo or look on Booking.com for studios.

Transfer time: 30 minutes from Bari Airport.

North of Bari

Fishing boats in Trani.
Trani

The coastline north of Bari is home to a string of picturesque harbour towns and cities.

This section of the 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 – it’s ideal if you’re looking for a small-town feel but nothing too quiet.

These towns tend to have fortified seafronts and pale rose-gold buildings, as well as a few small beaches if you’re prepared to go looking.

  • Giovinazzo
  • Molfetta
  • Bisceglie
  • Trani

For waterfront accommodation, check out the St Martin Hotel in Giovinazzo or the Mare Resort in Trani.

Transfer time: 30 minutes from Bari Airport.

Gargano National Park

Clifftop seafront buildings in Vieste.
Vieste

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).

Zagare beach from above.

Photogenic Zagare beach is ticketed – if you want to visit then it helps to stay at one of the two hotels located there – Baia delle Zagare Hotel and the Baia dei Faraglioni Hotel.

The main tourist towns in Gargano are Vieste, Manfredonia, Rodi Garganico, and Peschici. Accommodation is mostly small and traditional.

Transfer time:

  • Manfredonia is 1 hour 45 minutes from Bari Airport.
  • Vieste is 2 hours 30 minutes from Bari Airport.

Tremiti Islands

Tremini islands seascape.

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.

Read more:

10 Most Beautiful Beaches in Puglia

Where to Stay in Sicily: Ultimate Beach Resort Guide

Where to Stay in Sardinia: Ultimate Beach Resort Guide

10 Most Beautiful Places to Visit in Sardinia

10 Most Beautiful Islands in Italy

Where to Stay in the Italian Riviera: Ultimate Beach Resort Guide

10 Best Beaches in Europe with Turquoise Water

Where to Stay in Italy: Ultimate Beach Resort Guide

Enjoyed this post? Follow us on Facebook or Twitter.

Click to save to Pinterest:

Image credits:

Puglia resort map:  © The Mediterranean Traveller

Costa Otranto marine park: © jsk12 / Adobe Stock

Gargano National Park: © luigi / Adobe Stock

Ionian coast: © EnricoPescantini / Adobe Stock

Taranto: © luigi / Adobe Stock

Porto Cesareo: © BrunoBarillari / Adobe Stock

Gallipoli: © kite_rin/ Adobe Stock

Pescoluse: © Balate Dorin / Shutterstock

Santa Maria di Leuca: © e55evu / Adobe Stock

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

Costa Merlata: © boumenjapet / 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