Where to Stay in Puglia - Best Bases
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 more than 10 towns in Puglia that even had enough services to cater to tourists. Now… well, 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 all over, and lots of guesthouses and B&Bs, all at any price point.
But even so, more options doesn’t mean that they’re the right ones! Most visitors to Puglia are coming for somewhere between 1 and 2 weeks, and there are some places that remain the obvious choice as bases for most travelers.
The main considerations when choosing your base are how many days you’ll have, whether you’re renting a car, what you’re looking to get out of your trip (city vs. countryside, beach vs. inland, for example), and how willing you are to pack and unpack your bags.
You may also be wondering about staying off the beaten path, where is close to the best beaches, places with access to public transportation, and lots of other good questions.
I’ll go through all of this and 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 Bozzi Corso - all out luxury in Lecce. $400+/night
- Palazzo de Noha - boutique B&B in Lecce. $250/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
- Santa Maria di Leuca boat ride
- Salento coast day tour: Otranto, Leuca, & Gallipoli
How to get around
- Car rentals with DiscoverCars
- Train tickets from Trenitalia
- Bus routes on BusBud
- Private transfers through Welcome Pickups
How to choose the right bases
Travelers always ask me “what towns should I choose as bases?” thinking that this is simple to determine. But it’s not an easy question and there are no one-size-fits-all answers! Choosing the right bases for your trip is a very personal decision and also certainly the most important thing you’ll do while planning your trip.
So, before choosing your bases, you need to consider why you’re coming to Puglia and what you want to get out of your trip.
Are you coming here to hop between cities and towns? Is your goal to spend lazy days on the beach? Are you looking to get out into nature? Or maybe a combination of all these things.
Next you need to think about what type of places you like to stay in. Do you want to stay in cities, small towns, or out in the countryside?
And then of course we need to know how many days you have, if you’ll have a car, and what level of hotel you like and the services and amenities that you want nearby.
There’s a lot to consider!
Below, I quickly answer some of the basic questions. After, I show you how to divide Puglia geographically and then offer my recommended best bases within each geographic region.
How many bases do you need?
The first thing to keep in mind while planning on where to base yourself is that Puglia is big and you really cannot have only one base.
This is road trip territory, and for trips of 7 or more days you should plan on staying in at least 2 different geographic areas. While you can make things work with 2 different bases, for the perfect 7-day trip I would plan on having 3-4.
If you’re staying for around 10 days, I’d recommend sticking with 3 or 4 bases, and resisting the urge to try and do too much.
If you’re planning a stay of two weeks or more, I would recommend 5 different bases.
Best bases by the beach
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
The area around the town of Savelletri (which is near to Ostuni and Monopoli)
These three 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.
Another great location for beach lovers is the Gargano peninsula (and here I usually recommend staying in Vieste), but it’s Puglia’s most remote region, and it can’t be included in trips of less than 10 days.
Best bases for city stays
If you enjoy staying in good sized cities, you should focus on Bari and 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 in both cities, they also still feel local and “authentic”.
Other cities like Foggia and Taranto have relatively little to offer tourists and do not make for good bases.
If you like staying in cities, but prefer to avoid large ones, consider places like Trani, Monopoli, and Martina Franca.
Best bases for staying in the countryside
If you’ll have a car and want a relaxing stay in the countryside, I would focus on the Valle d’Itria.
Typically I recommend staying in the countryside near to Cisternino and Locorotondo, but the whole valley is lovely and everything is close together, so it doesn’t really matter which town you choose to stay outside of.
Best bases for using public transport
If you won’t have a car and will be relying on public transport, then your choices for best bases are very limited.
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 day trips. From Bari, you can take the train 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.
Monopoli, for example, 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.
Lecce would be your best base in the Salento peninsula. From Lecce, you have train connections to the mid-sized cities in central Puglia and some bus connections with larger towns and beach areas of the Salento peninsula. That said, bus connections are infrequent and very limited. In general, once you leave the Bari area, you cannot rely on public transit.
Less touristy bases
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.
For example, if you want to be near Ostuni, but without the crowds, look at Carovigno or Ceglie Messapica. If you want to stay on the coast around Gallipoli but away from the other 10,000 tourists, look at Nardò. Visiting Alberobello but don’t want to stay in Disneyland? Putignano is lovely and 15 minutes away.
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 make for good bases in the region and feel very authentic.
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.
Puglia’s 4 sub-regions
Puglia is Italy’s southeastern-most region; the “heel of the boot”, if you will. The region of Basilicata is to its west, while little-known Molise is to the north.
When planning your trip to Puglia, I recommend breaking the region up into 4 different “sub-regions”. These are the Salento peninsula, the Valle d’Itria (Itria Valley), the Terra di Bari, and 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.
For example, the flat tablelands around Foggia are agricultural and unfortunately blighted by semi-urban sprawl. Not really very interesting. The coast surrounding the city of Taranto is dominated by the city’s naval and steel factories.
These are probably not places that you envision visiting on your sun-drenched, dreamy Puglia vacation, so don’t feel bad about skipping them. I wouldn’t travel half-way around the world to see the urban sprawl of northern New Jersey, so don’t worry, no one will be offended (except for maybe people from New Jersey – forgive me!).
And 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.
Salento Peninsula
The Salento peninsula is the arid and rocky southern tip of Puglia. It’s not an administrative 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 tend to be sandy, whereas the eastern “beaches” are mostly rocky outcrops, jetties, or paved marinas. All over the peninsula, you find crystal clear turquoise waters.
Valle d’Itria
The Valle d’Itria is a bucolic region of farms, vineyards, fruit orchards, and olive groves that sits in the middle of Puglia, north of the Salento Peninsula and south of Bari. It starts somewhere around Ostuni and comprises lots of charming whitewashed villages.
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. Even Ostuni is actually not part of the valley.
That said, for the purpose of this guide, I’ve included Ostuni and the Savelletri coast within the Valle d’Itria because it’s just easier to do so.
Terra di Bari
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.
If you’re coming to Puglia without a car, this is the only area that has decent public transit connections, which is something you should keep in mind.
Gargano Peninsula
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.
Coming from the south, the Gargano starts around the town of Manfredonia, which is the area’s largest city, but not somewhere of much interest to tourists.
Along the 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.
Off the coast, you have the gorgeous Isole Tremiti - the Tremiti Islands, which are home to fabulous coves and beaches.
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.
Cisternino and 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.
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.
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.
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.
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.
Savelletri coast
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.
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.
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.
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.
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.
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 Italian, 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 the Terra di Bari
The cities of the Terra di Bari 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.
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.
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.
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.
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.
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.
Where to stay in Matera
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.
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.
Putting it all into an itinerary
Ok, so now you know (hopefully) where you should choose as your bases during a Puglia trip. Ottimo - excellent. But… how to put it all together is a different matter.
So, let’s take a look at some possibilities.
If you’re coming for a 7-day trip, you can forget about the Gargano because it’s too far for you to include it in any sensible itinerary. A 7-day itinerary should include Bari, Matera, the Valle d’Itria, and the Salento.
If you have 10 days, maybe you could consider adding the Gargano, but I still wouldn’t. A 10-day itinerary, for me, should be the same as the 7-day itinerary, just adding an additional day in Bari, Matera, and Salento.
If you have more than 10 days, then you should consider the Gargano.
Remember, Puglia is not really a place you should visit to “go, go, go” and check off sights and places. A visit here is about slowing down, enjoying yourself, having leisurely meals, meandering through pretty towns, going for a walk or bike ride, enjoying an afternoon on the beach, etc. You should make time for things like sipping a coffee or glass of wine while watching the world go by in a pretty piazza.
If you’re spending all day in the car and moving around every night, you’re doing it wrong!
7 days
So, if you have 7 days, I would recommend 4 bases: 1 day in Bari, 1 day in Matera, 3 days in the Valle d’Itria, and 2 days in the Salento. You could stay 2 days in Bari and do a day trip to Matera, but enjoying an evening and a morning in Matera is just too delightful to skip.
For a detailed plan, check out my one week Puglia itinerary.
Day 1 – Bari
Explore Bari Vecchia, take a walk along the lungomare, and do some people-watching and window shopping on Via Sparano and Corso Cavour.
Day 2- Matera
Drive to Matera, making a stop en-route in the pretty town of Altamura. Spend the afternoon and evening wandering Matera’s historic center.
Day 3 – Valle d’Itria
Take an early morning hike in the Murgia Materana canyon before heading off to the Valle d’Itria. Visit Locorotondo and Cisternino in the afternoon. In the late evening, stop by Alberobello and enjoy it without all the crowds.
Day 4 – Valle d’Itria
Make your way to Ostuni in the morning and then have lunch and a swim down by the beach around Savelletri. In the evening, explore Martina Franca and have dinner there.
Day 5 – Valle d’Itria
Today you have some options. You could take a morning bike ride through the valley, maybe also stopping to see some lesser-known town like Putignano or Noci. In the afternoon, you could head down to the coast and quickly see Polignano a Mare before making your way to Monopoli for dinner.
Alternatively, you could swap out the bike ride and do some sightseeing by car. Or… skip it all and spend the morning at the beach!
Day 6 – Salento
Leave the Valle d’Itria behind and dedicate the entire day to enjoying Lecce.
Day 7 - Salento
On your last day in Puglia, get up early and drive over to Otranto. Spend an hour or two in town and then give yourself the rest of the day to leisurely drive the SP358 road all the way to Santa Maria di Leuca. Make sure to pack a bathing suit and allot time for swimming stops. I’d recommend having lunch at one of the good seafood restaurants in Tricase Porto.
If you don’t plan on spending any time swimming, after lunch you could potentially push up to Gallipoli and explore there in the afternoon. A bit rushed, but doable.
Enjoy a final evening in Lecce.
10 days
If you have 10 days, I’d still choose just four bases, but I’d add a second night to Bari so that you can spend a day visiting a mix of places like Trani, Bitonto, and Giovinazzo, just north of the city. You could then add another night in Matera and one more in Salento.
If you want more beach time, instead of additional nights in Matera and Salento, give yourself two days on the Savelletri coast at the end of the trip.
Day 1 – Bari
Day 2 – Bari
Day 3 – Matera
Day 4 – Matera
Day 5 - Valle d’Itria
Day 6 – Valle d’Itria
Day 7 – Valle d’Itria
Day 8 – Salento
Day 9 – Salento
Day 10 – Salento
With the extra day in Bari, I would take the train out to Trani and spend the morning and early afternoon there. After a good seafood lunch, take another train to Giovinazzo and enjoy a wander there. You can then get the train back to Bari, arriving in the evening.
With your extra day in Matera, I’d spend the morning hiking in Murgia Materana canyon and then grab the car and go visit La Cripta del Peccato original in the afternoon. Enjoy another evening in Matera.
With the additional day in Salento, I would visit Gallipoli and Nardò in the morning and then spend the afternoon on the beach over by Porto Cesareo.
14 days
Now, if you have 14 days, get yourself up north and check out the Gargano! There are too many possibilities for how to spend 14 days and I’d want to rearrange the order of the itinerary entirely, so I’m not going to do it.
You have a good starting point here with the 10-day itinerary, but you’ll have to finish it on your own!
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!
Paolo Maragliulo
Puglia Expert based in Lecce
Ciao ragazzi! 👋
Hi, I'm Paolo, and I've been a tour guide and travel consultant here in Puglia for the last 20 years. If you're looking for some local advice on your trip, I'd love to help!
Learn more Book a consultationConnect with Paolo