Where to Stay in Puglia
Affiliate disclosure: some of the links in this article are affiliate links. If you book using one of them, we’ll earn a small commission. All of our info is free to read and free of ads, so we appreciate it!
10 years ago you’d have had trouble finding even a handful of towns in Puglia that had enough services to cater to tourists. Now, there are dozens. Things change…
Today, hotels, guesthouses, and agriturismi have popped up all over Puglia. You’ll find 5-star luxury resorts on the Savelletri coast, boutique hotels in Lecce, Trulli houses in the Valle d’Itria, lovely masserie farmhouses all over, and pleasant guesthouses and B&Bs in towns throughout the region.
So, with all these options to choose from, how do you pick the right places?
That's what I'm here to help with!
There are no easy answers though, and finding the right base (or bases) will depend on how long you're visiting for, what you want to do while here, the type of environment you like, and, of course, whether you'll have a car. These are just a few of the many things you'll need to consider.
I get into all this - and lots more - below.
Table of Contents
Puglia planning cheatsheet
Plan your itinerary with expert advice
- Book a Puglia travel consultation with a local expert
My favorite hotels in Puglia
- Palazzo de Noha - gorgeous boutique property in Lecce. $300/night
- Hotel Il Belvedere - Excellent value in Matera's center. $185/night
- Borgo Canonica - Trulli hotel in Valle d'Itria countryside. $200/night
- Masseria il Frantoio - rustic-chic farmhouse in Ostuni. $200/night
- B&B Murex - excellent value in Bari's old town. $100/night
Guided tours and activities
- Private guided tours with Paolo (me!)
- Valle d'Itria day trip: Alberobello & Ostuni
- Polignano a Mare boat ride
- Walking tour of Lecce
How to get around
- Car rentals with DiscoverCars
- Train tickets from Trenitalia
- Bus routes on BusBud


What to think about when choosing your base
Travelers always ask me “what's the best base for a trip to Puglia?” thinking that this is an easy question with an easy answer. It's not!
Puglia is a big region and its various sub-regions have very different atmospheres and diverse appeals. So, where you should choose to stay depends on a whole lot of factors.
Below I've outlined what I think are the 5 main things you should think about when choosing where to stay.
1. What you want to do while here and which places interest you?
Are you coming to hop between pretty cities and towns or is your goal to spend lazy days on the beach? Are you primarily interested in food, culture, history, the beach…? Do you want to have access to hiking and outdoors activities?
And what general areas interest you? Do you want to focus on Salento and the Valle d’Itria or would you like to see some less touristy places? Hoping to explore cities or get out into the countryside?
What you want to do will, to a large extent, determine where you should stay.
2. How many days will you be here?
How many days you'll be spending in Puglia will play a big part in determining your itinerary and, therefore, which places will make sense as bases. If you just have 3 days, it's easy to pick a single base and then focus on the surrounding region. If you have 5 days, you should choose two bases. That's easy enough. But once we start talking about 7 days and more, then things get more complicated and there are more options.
3. How many bases do you want to have?
Puglia is a big region and unless you're coming for just a few days, there are no single towns from which you can explore everywhere. If you're coming for anything over 5 days, you will need to plan on basing yourself in a few different places.
Along with the geographic/logistic aspect of multiple bases, you'll also want to consider how frequently you want to pack and unpack your bags.
4. How do you plan to get around?
Whether or not you'll have a car is probably the single biggest factor in deciding where to stay while in Puglia. Public transport here is quite poor, so if you're planning on getting around via the bus/train, this will significantly limit which towns and cities are realistic options.
5. What type of environment do you want for your home base?
Puglia has big cities, busy port towns, quaint villages, tiny little hamlets, touristy beach towns, and bucolic countryside. So you need to consider what "vibe” you want in the places you choose to stay in.
And you should also think about whether you want to stay somewhere convenient and well set up to cater to tourists (and therefore probably pretty touristy) or if you prefer a more authentic and local atmosphere.
Choosing your base by interest/travel style
While the rest of this article is dedicated to presenting the various sub-regions of Puglia that people typically visit, and helping you choose the right towns to base yourself within them, I’ve put together a quick overview here that takes a different approach: rather than focus on geography, I’ve highlighted various different interests/travel styles and selected what I think are the best bases for each of those.
For anyone who’s visiting Puglia with a very specific focus, interest, or activity in mind, I think this is a super helpful and very quick way of figuring out where you’re likely to enjoy staying.
Beach-focused trips
If your main goal while visiting Puglia is to stay by the beach, I would focus on 3 areas:
Otranto and nearby
Gallipoli and nearby
Savelletri and the surrounding coast (which is near to Ostuni and Monopoli)
Vieste and the Gargano peninsula (wonderful area, but far from everywhere else in Puglia - can't be visited on trips of 10 days or less).
These four areas are all directly on the coast and nearby to both sandy and rocky beaches. Additionally, they are also close to lots of other interesting towns for sightseeing.
Getting a taste of city life
If you enjoy staying in good sized cities, you should focus on the following two places:
Bari
Lecce
These are the main urban centers of Puglia and they offer good restaurants, good hotels, and plenty to keep you entertained. Their locations, and the fact that they actually have decent train and bus connections to other towns and cities, make them good bases for exploring the surrounding regions.
Despite the increase in tourism to both cities, they also still feel local and authentic. They are big enough to feel like "real” places and not be overrun by tourism.
With the exception of Taranto, Foggia, and Brindisi (three cities that I don't recommend to most visitors), these are also really the only decent-sized cities in Puglia.
If you like staying in cities, but prefer to avoid large ones, consider places like:
Trani
Monopoli
Martina Franca
Rural relaxation and bucolic countryside stays
If you’ll have a car and want a relaxing stay in the countryside, I would focus on the Valle d’Itria.
You have around a dozen towns in the valley, all of which are pretty little places. Some are bigger than others (like Martina Franca), some are quite touristy (like Alberobello and Ostuni), and others are very little visited (like Putignano and Ceglie Messapica).
For the best concentration of masserias (fortified farmhouses turned into charming and chic hotels) look at the area around:
Cisternino
Locorotondo
Ostuni
Many hotels in the area are located within olive groves and most will have a pool. This general location also puts you no more than 30 minutes by car from all the other towns and the beach near Savelletri.
It's the perfect area for a relaxing stay that's still close to everything.
Travelers using public transport
If you won’t have a car and will be relying on public transport, then your choices for where to stay are very limited. While there are a few places that have ok public transport connections, in general, once you leave the Bari area, you can't rely on it.
Realistically, I would look at just the following three cities:
Bari
Monopoli
Lecce
Bari has by far the best train and bus connections with other Puglia towns and is really the only city from which you can take many day trips. From Bari, direct trains go to places like Trani and Molfetta to the north and Monopoli, Polignano a Mare, Ostuni, and Lecce to the south. You also have bus connections with Matera.
If Bari is too big of a city for you, the other smaller cities that lie on the same train line also make for fine bases (Trani, Polignano, Barletta, etc.)
Monopoli also makes for a reasonable base as the train can get you to Bari (40 minutes), Polignano a Mare (10 minutes), and Lecce (70 minutes). You’re also close to the Valle d’Itria towns and can take a train to Ostuni and, in the summertime, have daily direct buses to Alberobello and Locorotondo. It's a manageable and reasonable base.
Lecce is certainly your best base for getting around the Salento peninsula (whether by car or bus/train). From Lecce, you have train connections to the mid-sized cities along the coast of central Puglia (Brindisi, Polignano, Monopoli, Bari, etc.), and some bus connections with larger towns and beach areas of the Salento peninsula. That said, bus connections are infrequent and very limited.
Local and authentic experiences (less touristy areas)
For those of you who are looking for bases that are less touristy, my main piece of advise is to not overcomplicate things. Puglia is full of gorgeous towns and many don’t look all that different from each other. Some have become famous while others right nearby are barely visited.
So, when picking your bases, to find less touristy ones you can just pull up a map and pick a town nearby to a more famous one.
However, keep in mind that there are tradeoffs to choosing less touristy places to stay. Puglia is not Tuscany and you will still find many towns with very few hotels, no services for tourists, and a very limited number of English speakers. And if you wander out in search of a little nightlife at 10:00 pm in some of these places, you may find yourself quickly back in your hotel room.
I’m all for choosing alternative destinations, but it’s not for everyone.
Here are some of my favorites:
Carovigno (Valle d’Itria)
Ceglie Messapica (Valle d’Itria)
Putignano (Valle d’Itria)
Trani (Bari metro area)
Giovinazzo (Bari metro area)
Bisceglie (Bari metro area)
Nardò (Salento peninsula)
If you want to be in the Valle d’Itria and near to Ostuni/Alberobello, but without the crowds, look at Carovigno or Ceglie Messapica, two small towns that have pleasant little centers, but are relatively undiscovered by tourists. Also consider lovely Putignano, which has an atmospheric medieval core and feels like Puglia before its tourist explosion.
If you want to stay in the Salento peninsula and on the coast near to Gallipoli and its great beaches, but without lots of other tourists, look at charming Nardò.
Around Bari, basically all the cities to the north receive a fraction of the visitors that locations further south do. Trani, Molfetta, Bisceglie, Giovinazzo… all of these are pretty cities that make for good bases in the region and feel very authentic. They're all port towns too, so I find the atmosphere especially appealing.
Quick overview of Puglia’s geography and main “regions”
Before I get into the specific towns/cities to consider staying in, let's quickly go over Puglia's geography and its 4 main areas that people typically visit and stay in.
Where you'll want to base yourself depends on what towns you're planning to visit, so before we think about where to stay, let's think about where to visit.
When planning your trip to Puglia, there are 4 main "sub-regions” that you should consider visiting. These are:
the Salento peninsula
the Valle d’Itria (Itria Valley)
the Terra di Bari (Bari metro area)
the Gargano peninsula
These 4 sub-regions leave out a lot of Puglia, but what I’ve omitted are parts of the region that tourists are unlikely to visit, especially first timers.
Also, before I go any further, I need to point out that Matera is not part of Puglia. It’s a city in Basilicata. Although you are likely to include Matera in your Puglia itinerary, just know that it is part of a different region.
Valle d’Itria (purple on the map)
The Valle d’Itria is a bucolic region of pretty white-washed towns, quaint farms, vineyards, fruit orchards, and olive groves. It sits in the middle of Puglia, north of the Salento Peninsula and south of the capital city of Bari.
This is where you’ll find the famous trulli houses with their conical stone roofs. Lovely villages like Alberobello, Locorotondo, Cisternino, Putignano, Noci, and Martina Franca are all part of the Valle d’Itria.
It is all inland, so doesn’t have any coastline. Towns like Monopoli and Polignano a Mare, which are on what I call the “Savelletri coast”, often get referred to as being in the Valle d’Itria, but they definitively are not. Neither is Ostuni, which sits just outside it. That said, for the purpose of this guide, I’ve included Ostuni and Savelletri within the Valle d’Itria because it’s just easier to do so.
Salento Peninsula (blue on the map)
The Salento peninsula is the arid and rocky southern tip of Puglia. It’s not an official region, so what exactly its boundaries are is fairly flexible. If you draw a line across Puglia at the city of Brindisi and then include everything south of it, I think that’s a pretty good definition.
The main point of interest in Salento is the gorgeous city of Lecce. But you also have the charming seaside towns of Otranto and Gallipoli as well as lots of little villages (like Santa Maria di Leuca) that are sleepy for most of the year, but swell with vacationers and beachgoers over the summer months.
The beaches on the western side of the peninsula (all around Gallipoli) tend to be sandy and very calm, whereas the eastern “beaches” are mostly rocky outcrops, jetties, or paved marinas. All over the peninsula, the waters are gorgeous and turquoise.
Terra di Bari (brown on the map)
The Terra di Bari is the coastal region surrounding Puglia’s capital city, Bari. This is Puglia’s most densely populated and urban area. You could also think of it as the Bari metropolitan area.
Most travelers have little experience with the region other than flying into/out of Bari’s airport. This is an absolute shame as it’s a really rewarding area to visit.
Bari itself is an interesting city and it’s the only place in Puglia that feels like a big urban center (which it is – the second largest city in Southern Italy). It’s also where you’ll find some of the best food in Puglia.
Outside of Bari, port cities like Trani, Giovinazzo, and Molfetta are cosmopolitan places with lovely architecture that are simply pleasant to “be” in. There are also practically no other tourists around, so they feel very “authentic”. I like many of the cities here, but especially love Trani. Some other places of note are Bitonto, Castel del Monte, Andria, and Bisceglie.
Gargano Peninsula (green on the map)
The Gargano Peninsula is the far northern coastal part of Puglia, directly south of the region of Molise. It’s a bit of hump that juts out into the sea and most of it is comprised by the Parco Nazionale del Gargano, a protected national park.
Here, the turquoise waters of the Salento coast are replaced by calm, emerald green waters backed by pebbly beaches and dense Mediterranean scrub. High in the mountains beyond the beaches, you have ancient primeval forests and medieval villages like Monte Sant’Angelo, a major pilgrimage site for Catholics.
Along the Gargano coast, you have a handful of cute, but fairly non-descript towns that get busy over the summertime. One exception is Vieste, a very pretty little city whose whitewashed old town is packed onto a promontory jutting out into the sea.


Where to stay in the Valle d’Itria
The appeal of staying in the Valle d’Itria is to have a nice base that puts you within easy reach of the many pleasant cities and towns here. Most of the places you’ll want to visit are around 20 minutes away from each other, so you can plan multiple days of town hopping with minimal driving.
You’re also close to good beaches and seaside cities like Polignano a Mare and Monopoli.
My recommended bases in the Valle d’Itria are:
Cisternino and Locorotondo for those who want to stay in the countryside
Martina Franca or Ostuni for those who want to stay in a little city
Monopoli or the Savelletri coast if you want to be by the beach
I never recommend staying in Alberobello. It is the most visited town in Puglia and is exceedingly touristy and rather tacky. From morning until early evening it is packed with day trippers and people coming off of big bus tours, cruise ships, etc. There’s nothing authentic or local about it and it is absolutely not somewhere that I would want to spend a significant amount of time.
If you want to stay in a trulli-style hotel, you can do that in the countryside outside of Alberobello or in many other less-touristy towns too. Trulli are not unique to Alberobello.
I do not recommend staying in Polignano a Mare for more or less the same reasons that I outlined with Alberobello (just too touristy).
For less touristy towns, you could look at Ceglie Messapica, Martina Franca (which I’ve mentioned already), Carovigno, Putignano, or Noci. They’re all very nice and not at all touristy.
The hotels in the area are mostly masserie, which are old “fortified” farmhouses in the countryside that have been converted into usually very nice hotels with a sort of rustic-chic style. You’ll also find little guesthouses and apartments in the individual towns.
Keep in mind that the Valle d’Itria is small, so regardless of where you stay, you’ll be close to all the other towns. To give you some reference, getting from Putignano in the north to Ostuni in the south is the longest distance you could do, and it’s still only a 50-minute drive.
1. Cisternino and Locorotondo
Pros: Picturesque towns, lovely countryside around them
Cons: Very small (not much to do), almost no hotels in the town centers, must have a car
Cisternino
Locorotondo
If you want to stay in the countryside, I recommend choosing a hotel somewhere outside of Cisternino or Locorotondo. Both are very pretty small towns with nice masseria-style hotels all around them.
You could stay in the towns themselves, but you don’t have many accommodation options and I find it more relaxing to stay outside them. Geographically, they are squarely in the middle of the region, so close to everywhere you’ll want to go.
Borgo Cannonica (4-stars) is a gorgeous property just outside of the town of Cisternino which offers elegant trulli-house accommodation. It’s bucolic and fabulous, and always my first recommendation. $200-250 USD per night.
Masseria La Carrubbe is a lovely Masseria-style hotel with expansive grounds and elegant rooms. It’s between Cisternino and Ostuni, but also pretty close to the coast. $250-400 USD.
Masseria Cervarolo is a beautifully renovated farmhouse-style hotel with a good restaurant and great pool in between Cisternino and Ostuni. 225-300 USD per night.
2. Ostuni
Pros: Beautiful town, decent sized, lots of restaurants, very close to the beach, some public transport
Cons: Very touristy, expensive
Ostuni
Ostuni has become fairly touristy (and pretty expensive), but it’s very pleasant and has a fabulous location high on a hill looking out over olive groves and a glistening sea. You have a decent selection of hotels, but most are smaller B&Bs.
The town has lots of good restaurants, plenty of bars and cafes, and tourist services. You’re also only about 20 minutes from the beach, so it’s convenient for getting to the water.
Read more about the town in my guide to Ostuni.
Hotel Relais La Sommità is pure 5-star luxury in the very center of town. It's definitively Ostuni's best hotel. $500 USD.
Palazzo Stunis is a beautiful boutique B&B about a 10 minute walk from Ostuni’s historic center. You' have painted ceilings, period furniture, and delightful touches. Each room is unique and the host is exceedingly helpful. $250 USD per night.
Masseria Il Frantoio is a very nice 4-star hotel in the countryside near to Ostuni that offers gastronomic activities like wine tasting, olive oil tasting, and cooking classes. $200-250 USD per night.
Hotel Primo Ostuni is a recently renovated hotel a few blocks outside the center of Ostuni. The rooms are modern, spacious, and airy. Some have balconies. $175 USD per night.
3. Martina Franca
Pros: Small city, lovely atmosphere, good restaurants, decent public transport, good prices, feels very local and authentic
Cons: Few hotels, few tourist services, not much English spoken
Martina Franca
Martina Franca is the only city in the Valle d’Itria. It’s still small - 50,000 people -, but definitely feels different (in a good way) from the other towns. It receives far fewer international visitors than places like Ostuni or Alberobello, so it’s a nice choice for those who want a more local atmosphere.
If you want to stay somewhere convenient, but less touristy, it’s always my recommendation. You won’t find big hotels or any luxury options, but there are lots of small, family-run guesthouses.
As the main center in the Valle d’Itria, you have direct bus connections to many of the surrounding towns. If you want to stay in the Valle d’Itria and visit other towns without a car, it is for sure the best base.
Rossini Guesthouse - Charming little B&B in the center of Martina Franca with pleasant rooms. $100 USD per night
Terrazze sulla Valle - Trulli-style rooms and apartments in a pretty property just a few minutes from the city city center. $100 USD per night.
Park Hotel San Michele - Slightly outside the center, this is a classic Italian-style midrange hotel. It’s the largest property in town, the rooms are perfectly nice, there’s a pool, and it has everything you need. It won’t wow you, but it gets the job done well. $100 USD per night.
4. Monopoli
Pros: Little city, charming marina/port, close to good beaches, good dining and some nightlife, has a train station
Cons: Further from the Valle d’Itria towns
Monopoli
For a beach stay but in a city, I really like Monopoli. It’s a pleasant little port city of about 50,000 people with a pretty historic core and nice beaches to its south.
Polignano a Mare is only 15 minutes away and Bari, Alberobello, and Ostuni are all within a 30-minute drive, so the location is very good for day trips to the surrounding region.
Monopoli has a train station, so you can take the train to places like Bari, Lecce, Polignano, and Ostuni. In the summer, you can take a direct bus to the Valle d’Itria, via the towns of Alberobello and Locorotondo.
If you want to stay in a small city and will be relying on public transit for day trips and sightseeing, it is the obvious choice.
Hotel Don Ferrante is certainly Monopli’s best hotel. It has an unbeatable location in the old town, right on the water with full sea views. The rooms are very elegant with vaulted ceilings and stylish furniture. There’s a great rooftop terrace, good breakfast, and excellent service. $250-400 USD per night.
Il Melograno is a 5-star property a few minutes drive outside of Monopoli. The rooms are beautiful and you have a spa, tennis courts, an excellent pool, etc. $150-350 USD per night.
Palazzo Indelli is a solid hotel located right on Piazza Garibaldi, one of Monopoli’s prettiest squares. The style is modern and breezy. It’s just steps from the port and surrounded by lots of dining and shopping options. $200 USD per night.
B&B A C-Caste is a charming boutique guesthouse in the city center. It’s not Don Ferrante level, but the rooms are quite cute, the location is great, and it’s good value. Note that it has a 2-night minimum stay. $125-175 per night.
Corte Sant’Angelo is another nice little guesthouse in Monopoli’s center. It’s new so the rooms are modern, some with kitchenettes, and most have little sitting areas outside the front door. $150 USD per night.
5. Savelletri coast
Pros: Terrific beach access, close to the Valle d’Itria towns
Cons: Must have a car to get around, rural area with no real town centers, mostly high end accommodation
A beach club in Savelletri
If you want to be by the beach but not in a city, I’d look at the coastline around the town of Savelletri. The beaches here are sandy and accessible, and you have a mix of public beaches and private beach clubs.
There’s a big concentration of 5-star luxury hotels in the area, but you’ll also find plenty of more mid-range options. There is very little in the way of budget hotels, however.
Masseria Torre Coccaro is a good option for anyone looking for a luxury stay, but at a semi-reasonable price (when compared with other luxury hotels in the area). It has manicured grounds, a beautiful pool, a bar, and an on-site restaurant. It is not on the beach, but they run a complimentary shuttle all throughout the day that brings guests to the hotel’s private beach club. $350 USD per night.
Masseria Salamina is another farmhouse-style hotel, but with its own castle to boot! Located in the countryside outside of a nondescript little town named Pezze di Greco, it has nice old world style and a good farm to table restaurant. $250 USD per night.
Dimora Donna Lucrezia, also on the outskirts of Pezze di Greco, is great value. The lovely rooms are complimented by an excellent pool and you’re just a short drive to Ostuni, Monopoli, all the Valle d’Itria towns, and lots of good beaches. $140 USD per night.
Agriturismo I Pozzetti is not the type of place you’ll look back on with rose-tinted glasses, but it’s one of very few decent hotels in the area that you can find at a somewhat budget price. The rooms are big and comfortable, and the pool is quite nice. Breakfast leaves something to be desired, but it gets the job done. $100 USD per night.


Where to stay in the Salento peninsula
The Salento peninsula is a quintessential slice of Puglia. The rocky and arid earth is covered in olive groves and the coastline is dotted with pretty little towns and lovely rocky beaches. Inland, you have Lecce, southern Italy’s most beautiful city.
The peninsula is sun-drenched and slow-moving and the perfect place to combine time sightseeing with afternoons relaxing on the beach.
When staying in the Salento peninsula there are 3 towns that I think make sense for most travelers: Lecce, Otranto, and Gallipoli.
These are the region’s 3 premier destinations and they have the best selection of hotels and plenty to keep travelers entertained. All 3 of them are also in strategic positions for day trips to other parts of the Salento.
For those who don’t want to stay in a city, you’ll also find lots of pleasant accommodation outside of any of these cities. The countryside between Lecce and Otranto has a number of very nice hotels.
While searching, you may see a few very elegant hotels around the town of Martano (like Furnirussi and Naturalis). Those hotels are very nice, but the area is quite inconvenient. You are not very close to anywhere else you’ll want to go, and the surrounding towns are a bit bland and empty.
If you want a beachside stay, you could stay on the Ionian coast near Porto Cesareo (north of Gallipoli) or Pescoluse (south of Gallipoli), two of the Salento’s best beaches. On the Adriatic coast, you could look at San Foca or Torre dell’Orso (north of Otranto).
For more off the beaten path bases, consider towns like Tricase or Nardò.
I don’t typically recommend staying in places like Santa Maria di Leuca or Castro, both of which are on the coast on the southern tip of the peninsula. They’re nice, but they are summer beach towns that get very busy and they’re not terribly convenient as bases for exploring the wider region. Parking is also always a challenge, there’s not much to do in the towns themselves, and the accommodation options aren’t particularly good.
1. Lecce
Pros: Beautiful city, relaxed and pleasant atmosphere, convenient location for day trips to the Salento coastline, good dining and even some nightlife
Cons: Gets very busy, not on the coast
Lecce
This is Puglia’s prettiest city and a place that is perfect for leisurely strolls, sipping a drink in a piazza, going out for an aperitivo, etc. It’s also right in the middle of the peninsula, so the vast majority of places that you’re likely to visit are within a 30-minute drive. Otranto, Gallipoli, Santa Maria di Leuca, and lots of good beaches are within a quick drive.
Unless you don’t like cities or just want to be right by the water, Lecce is usually my recommended base in the Salento peninsula.
More info in my guide to Lecce.
Palazzo Bozzi Corso is Lecce’s most beautiful property. Half a block away from the Basilica di Santa Croce, it’s a noble palazzo (palace) that has been gorgeously restored. It has 10 unique rooms, each completely different from the others. Some rooms feature amenities like a private sauna, two bathrooms, reading rooms, etc. $450-800 USD per night.
Patria Palace is a nice choice if you’re a fan of old world style. It’s one of Lecce’s most historic hotels, but was in need of a face lift for a while. It got one recently, so is worth checking out. $300 USD per night.
Palazzo de Noha is another pretty property in a converted historic palazzo just off Piazza Sant’Oronzo, the city’s main square. They have nine classy rooms and a lovely rooftop, where breakfast is served each day beside the pool. $300 USD per night.
Risorgimento Resort is a good low 5-star hotel with a great location around the corner from Lecce’s main square. It’s one of Lecce’s larger hotels, so often has availability when others don’t. It’s a bit less charming and more North American business-style than most other places on this list. $220 USD per night.
Palazzo il Rollo is a lovely hotel in a former noble residence right in the city center. $150-200 USD per night.
Palazzo Bignami is a family-run B&B on the edge of Lecce’s centro storico. It’s pleasant and good value. $140 USD per night.
Palazzo Marini B&B di Charme is another cute guesthouse in a quiet, but central part of the old town. The rooms are spacious, modern, and immaculate. The hotel’s terrace offers nice views of the city’s rooftops too. $115 USD per night.
2. Otranto
Pros: Beautiful town, decent city beach, near many good beaches, easy access to Lecce and the Salento coast
Cons: Very small, touristy, gets overcrowded, expensive
Otranto
Otranto is a little seaside city on the Adriatic coast of the peninsula. Its population is only 5,000, but this can swell to almost 3 times that during the summer months. It has a pretty good city beach, a lovely historic core, and lots of good restaurants.
To the north of the city are some of the only sandy beaches you’ll find on this side of Salento and it is also right at the start of the SP358 road, one of Italy’s most beautiful coastal drives.
While not super expensive, Otranto is still not cheap so if you want to save some money, look at properties outside of town.
Read more in my guide to Otranto.
Le Capase is a luxury option on the coastline south of Otranto. It’s built on a cliff looking out over the Adriatic. Their pool is unbelievable and the on-site restaurant is excellent. $400 USD per night.
Masseria Montelauro is a slice of pure relaxation in the countryside just outside of town. Its a 4-star hotel owned by a local family. It’s elegant, but rustic and never stuffy or stuck up. It has a great pool, a lovely garden area, and a pretty good restaurant. $200 USD per night.
Palazzo Papaleo is a beautiful hotel adjacent to Otranto’s stunning cathedral and only 2 minutes from the seafront promenade. It has a great terrace overlooking the sea. $125-250 USD per night.
Hotel Bellavista has a terrific location right next to Otranto’s city beach, public gardens, and seafront lungomare. The hotel was recently renovated, so the rooms are super modern and very comfortable. $100-150 USD per night.
Masseria Panareo near to the little town and beach of Porto Badisco is a pretty hotel with nice grounds, a good pool, and views of the coast. Because it’s a bit further from Otranto, it’s good value too. $100-200 USD per night.
3. Gallipoli
Pros: Pretty old town, right next to some of Puglia's best sandy beaches, some nightlife
Cons: Very small, gets overcrowded in the summer, few good hotels
Gallipoli
For most of its history, Gallipoli was a quiet little fishing town on Puglia’s Ionian coast (west side). To an extent, it still is, but the last two decades have seen some major transformations and it’s now also a tourism hub throughout the summer.
The town is surrounded by good beaches, including plenty of nice sandy ones, like Porto Cesareo to its north and Pescoluse to its south.
Like many towns in Puglia, it is split into two halves; the new town on the mainland and the old town on a little peninsula jutting out into the sea. The historic part of town is a pretty mix of Byzantine and Norman architecture.
Like Otranto, the town has a good city beach - Spiaggia della Puritá - so you don’t have to go anywhere else to take a swim. There are no major sights in town, but walking along the city walls, strolling through the center, and popping inside any number of pretty Baroque churches is a lovely way to spend time.
Do keep in mind that it can get very busy in the summer months and has a younger vibe than Otranto on the other side of the peninsula. For a brief period it had a reputation as a summer party destination for Italians, but this has since cooled off. Regardless, be aware that if you’re coming in summer and looking for peace and quiet, Gallipoli probably is not your best choice.
Corte Palmieri is one of the only higher-end hotels located in the old town. Housed in an 18th-century palazzo, the vibes are stylish, beachy, and intimate. It’s nice. $150 USD per night.
B&B Corte Kampanes is a small, family-run bed and breakfast in the heart of the old town. It’s in a historic building that has been nicely renovated while still maintaining some of the original features. $100-150 USD per night.
B&B Corte Casole is a cheerful little guesthouse in the old town with a really nice host. It’s simple, but pleasant. $100 USD per night.
Popula Lifestyle Hotel in the new side of town is a good option if you want something modern and spacious. It doesn’t have loads of charm, but it’s nice, convenient (especially if you’re traveling with a car), and only 10 minutes walk to the old town. $70-110 USD per night.
Where to stay in the Bari area
The cities of the "Terra di Bari” (the Bari metro area) do not feel like the quaint villages and towns of the Valle d’Itria and Salento peninsula. These are busy, bustling medium-sized cities with lots going on and locals going about their lives. They have been important regional centers since the Middle Ages and they retain cosmopolitan airs and relatively little interest in tourism.
This is a good thing! It’s an ideal region to explore for those who want to see a more “authentic” Puglia, especially if you like port cities.
The obvious recommendation for where to stay in this area is Bari.
It has the best selection of hotels, the most things to “see & do”, infinite restaurants, good nightlife, and actually pretty good transportation connections with the rest of the region.
If you don’t want to stay in a big city, I’d consider Trani as an excellent alternative. You’ll still be in a city with access to amenities (and transportation), but it’s smaller, prettier, and much less chaotic.
You could also look at Molfetta, but Trani is always my choice for a non-Bari stay.
To further clarify, the Terra di Bari is really just the coastal stretch of medium-sized cities that runs from Bari up to Andria. This is Puglia’s most populated region, its most developed, and also one of its least visited.
Outside of Bari, the cities and towns here have been important regional centers since the Middle Ages and it’s easy to see this in their grand architecture. Bitonto and Trani are home to incredible Norman cathedrals, castles, and other grand monuments. Giovinazzo is an extremely charming little port town, and both Bisceglie and Molfetta are pleasant cities to explore. There’s lot to keep you entertained for a few days.
1. Bari
Pros: Puglia's only large city, lots going on, great dining & shopping, good train connections to the surrounding region, decent nightlife, interesting culture, feels authentic
Cons: Can feel chaotic and overwhelming, hard to get in and out with a car, no good beaches nearby
Bari
Bari is a major port city with maritime connections all over the Mediterranean. It is southern Italy’s second largest city and a busy urban center that does not depend at all on tourism. This is part of why visiting it is so interesting.
The old town is a crazy labyrinth that is matched by nowhere else in Puglia. The seafront lungomare is beautiful and delightful to stroll down. The food scene is the best in the region. And for shopping and people watching, Bari’s elegant main promenades of Via Sparano and Corso Cavour are terrific.
Any visit to Puglia should at least include a visit to Bari.
See my guide to Bari for more info.
Dilman Luxury Stay in the Murat neighborhood bills itself as one of the city’s few luxury hotels. The location is great and the rooms are very modern and comfortable. $250 USD per night.
JR Hotels Bari Grande Albergo delle Nazioni is a nice modern hotel just by the waterfront and a quick walk to Bari Vecchia. $200 USD per night.
Al Pescatore B&B at the edge of Bari Vecchia and just behind the Castelo Svevo is a cute option at a reasonable price. Rooms are nicely appointed, spacious, and airy and the staff is knowledgeable and helpful. $150-200 USD per night.
Travel B&B is a charming little bed and breakfast in a great location for shopping, eating, and people watching. It overlooks a leafy square and is only a 2-minute walk from the train station. $100-150 USD per night.
B&B Murex in the old town is clean, comfortable, and excellently located. But be aware that there is no elevator, so you have to be ok potentially carrying your bags up the stairs. $100 USD per night.
2. Trani
Pros: Elegant small city, great seaside location, terrific seafood restaurants, has a train station, feels like a real town (not too touristy)
Cons: Out of the way and far from Puglia's "highlight” places, not a great hotel selection, doesn't cater to tourists
Trani
Trani is one of my favorite towns in Puglia. The city center is very elegant and cosmopolitan, you have some of the best fish restaurants in the region, the marina is lovely, and it’s a good base from which to explore nearby places. If you’ll have a car, parking it in Trani will also be much easier (and safer) than parking it in Bari.
Read more in my guide to Trani.
Dimore Marinare is probably Trani’s best hotel. Around the corner from Piazza Quercia, the city’s main square, and directly in front of the port, the location is unbeatable. The rooms are gorgeous - well renovated with wood floors, pretty bathrooms, and good furniture. $175 USD per night.
Palazzo Filisio Hotel lovely hotel in the historic center across the street from the city’s Cathedral. The on-site restaurant is excellent, the location is fantastic, and some rooms have sea views. $130 USD per night.
B&B Palazzo Pacioti is a cute little B&B on a quiet side street just behind Trani’s marina. The building has been nicely renovated and the rooms are modern. $110 USD per night.
Where to stay in the Gargano Peninsula
The Gargano Peninsula in Puglia’s far north is almost entirely comprised of the Gargano National Park and the region is an outdoors lover’s paradise. The rugged coastline is backed by mountains covered in dense vegetation, and inland you’ll find ancient forests that have remained untouched for thousands of years.
Somewhat popular with vacationing Italians (and some Germans, Swiss, and Austrians), it’s little known by most international visitors and receives a fraction of the tourism of places like the Valle d’Itria and Salento. As such, you’ll find relatively few international tourists - and almost no North Americans - even in the height of summer.
You have a few pretty little towns, good hiking in the Gargano National Park and Foresta Umbra, all manner of boating and water sports along the coast, and even the chance to spot wildlife, something that you can’t do in much of Puglia.
When visiting the Gargano, I usually recommend staying in Vieste. Its whitewashed old town is charming and the views of it from the town’s southern beach are stunning.
Rodi Garganico and Peschici are two other nice towns that you could stay in, but they’re very small and have far fewer accommodation options. They’re also less convenient geographically for exploring the larger region.
Offshore, the Isole Tremiti (Tremiti Islands) are a beautiful archipelago of 5 little islands. Aside from great beaches and gorgeous little coves, the islands have hiking/walking paths and one, San Nicola, is home to an 11th century Monastery and a Medieval fortress. If you have a good amount of time, you could consider staying a night or two.
Up in the mountains, the medieval town of Monte Sant’Angelo is home to the Sanctuary of Saint Michael the Archangel, a pilgrimage site of extreme importance. The Sanctuary is beautiful and the town is pretty in its own way, but I wouldn’t stay there.
San Giovanni Rotondo is another little town with some sites of religious (and historical) importance, but it’s really only of interest for the devout.
1. Vieste
Pros: Stunning location, beautiful old town, excellent beaches
Cons: None really. It's a bit touristy in the summer, but still the best base in the Gargano.
Vieste
In general, I recommend staying in Vieste because it has the biggest selection of hotels, a good number of restaurants, and lots of services for tourists. It’s also close to a host of excellent beaches.
Vieste’s old town sits on a promontory jutting out into the sea, and sandy beaches extend to its north and south. Hotels are pretty evenly split between the old town, north beach, and south beach.
Most of the hotels cater to Italians and Europeans and the Gargano is not a high-end travel destination, so you should not expect luxurious hotels or North American-style ones.
In the old town, it’s all B&Bs and guesthouses while along the beaches you find more medium-sized hotels.
The old town is atmospheric, but a bit of a hassle for parking. Between the two beaches, I think the northern one has better hotels. Those on the southern beach are a bit older and more classic Italian-style. The southern beach, however, is better than the northern one.
Tra Cielo e Mare is a very pretty boutique B&B in the old town. The location is great, rooms are bright and spacious, and you have lovely views. $100-150 USD per night.
Estlevante B&B is another pleasant guesthouse in the historic part of town. It has a very nice rooftop terrace. $100-140 USD per night.
Forte 2 Hotel is a medium-sized modern hotel on the beach north of the center. It’s new and nice. You can walk to the old town in about 15 minutes. $100 USD per night.
Hotel Falcone is on Vieste’s southern beach and only a few minutes walk into the old town. It has a pool, nice rooms, and pretty views.
Hotel Yria is a simple 2-star hotel on the northern stretch of beach. It’s basic and a bit dated, but very clean, well maintained, and perfectly nice. $60 USD per night.
Tenuta Padre Pio is for those after a good deal and who want to stay in nature. A sort of agriturismo in the hills and olive groves outside of Vieste, the lodgings are rustic, but nice enough. $60-80 USD per night.


One final town to consider - Matera
Matera
Matera at night
Although actually in the region of Basilicata, and therefore not part of Puglia, it’s very likely that you’ll visit it as part of your Puglia trip, so I’ve included it here.
Matera is like something out of a fairtyale; a beautiful stone village literally carved out of a cliff, that rises high above a deep canyon all around it. The city is a maze of tight alleyways and meandering staircases, many of which open up periodically to incredible views.
The city is gorgeous at any time of day, and many visitors come only for a day trip, but you should stay at least one night. Wandering the historic core after dinner, with the moon overhead and the orange glow of wrought iron streetlights around you, is almost unbelievably atmospheric.
As I mentioned before, Matera is actually part of the region of Basilicata, not Puglia. However, because it’s so close (and so wonderful), most visitors include a stop in Matera on their Puglia itinerary. You should too!
For an overnight, staying in the old town is always the right answer.
For hotels, Matera has many that offer “cave rooms” where you room will quite literally be in a cave. The hotels/rooms have of course been updated and are very well appointed in most cases, and they can be very fun if you’re only staying a night.
If you’re spending more than a night, you may find the cave rooms claustrophobic, a bit damp, and also dark. They’re not my cup of tea, but many people really enjoy a stay in them.
If you’re on a budget, you can still find good deals in the old town, but you’ll have many more options (and get much better value) by staying in the “new” part of the city.
For more info, have a look at my guide to Matera.
Sant’Angelo Resort is probably the nicest hotel in Matera. It’s a 5-star property with luxurious sassi/cave-style rooms, the best location in town, and definitely also the highest prices. ($500+ USD per night).
Palazzo Gattini is another luxury hotel right in the Sassi area of Matera. Rooms are elegant and spacious, and they have a spa and rooftop bar. Keep in mind that it is not a cave hotel. $350-800 USD per night.
Sextantio Le Grotte is another cave-style hotel with beautiful touches and a fabulous location. $200-400 USD per night..
Palazzo Viceconte is a delightfully restored palazzo with exceedingly chic style in the old town. $300 USD per night.
Residence Comera is a nice semi-cave hotel right on the edge of the old town. $150 USD per night.
Hotel Belvedere is on the very edge of the Sassi area, but with a location that overlooks the entire city and canyon below. It’s simple, but nice and has a mix of regular and cave rooms. $100-150 USD per night,
Livingstone B&B is a cute little bed and breakfast with comfortable rooms in the new town. Parking on street is easy, you’ll have fewer stairs to walk, and you’re just a stone’s throw from the old town. $120 USD per night.


More Puglia travel info
For even more advice on planning your trip to Puglia, have a look at some of our other guides and itineraries!

Connect with Paolo