Where to Stay in Puglia - Best Bases

This guide to finding the perfect bases in Puglia is written by local guide Paolo.

Originally from Lecce, Paolo is a Matera-based guide who offers Puglia travel advice at Go Ask A Local.

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!

A walkway surrounded by plants with a canopy of grape leaves above it at the Torre Maizza hotel in Puglia

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 first thing to keep in mind while planning on where to base yourself is that Puglia is big and you absolutely 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 towns, and probably 3. If you’re staying for more time, you’ll be looking at 4 or 5 bases (and maybe more).

And a quick piece of advice for those of you who are looking for bases that are less touristy; don’t 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, 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.

However, keep in mind that there are tradeoffs to this. 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 one 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.

So, there’s your introduction. Let’s get into the details below!


Table of Contents

Puglia’s 4 sub-regions

  • Valle d’Itria

  • Salento peninsula

  • Terra di Bari

  • Gargano Peninsula

Where to stay in the Valle d’Itria

Where to stay in the Salento peninsula

Where to stay in the Terra di Bari

Where to stay in the Gargano peninsula

Bonus: Where to stay in Matera

Combining it all into an itinerary


Plan your itinerary with local help

If you could use some help coming up with a great plan for your visit to Puglia, schedule a Puglia travel consultation with me!

These are one-hour Zoom calls where we can chat about the trip you’re planning and I’ll share my tips and advice, answer your travel questions, and help you perfect your itinerary.


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.

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.

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

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.

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.

Other notable towns are Rodi Garganico, Peschici, and Mattinata.

Off the coast, you have the gorgeous Isole Tremiti - the Tremiti Islands, which are home to fabulous coves and beaches.

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.


Discover authentic Puglia with local advice!
Connect with Paolo, our Puglia-based Local Expert, for a 60-minute travel consultation!
1-hour live trip planning session
Learn about pro tips & hidden gems
Get advice that's tailor-made to you
Discover authentic Puglia with local advice!
Connect with Paolo, our Puglia-based Local Expert, for a 60-minute travel consultation!
1-hour live trip planning session
Learn about pro tips & hidden gems
Get advice that's tailor-made to you

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.

Trulli houses surrounded by a stone wall and tilled fields of brown soil in the Valle d'Itria countryside

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.

First and foremost, 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.

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 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 very touristy.

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

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

  • 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 and you have a great 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.

People walking on Otranto's seafront promenade in Puglia

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.

A boat entering the marina of Trani with docked boats and pretty buildings behind it

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.

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.

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.

As for where to stay, my usual recommendation is Bari. You have the best selection of hotels, the most things to “see & do”, infinite restaurants, good nightlife, and good transportation connections with the rest of the region.

That said, 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.

Bari

Bari’s 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. The location, around the corner from Piazza Quercia, the city’s main square, and directly in front of the port, is unbeatable. The rooms are gorgeous - well renovated with wood floors, pretty bathrooms, and good furniture. It also has a great rooftop terrace. $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 entire 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.

You have a few pretty little towns, good hiking in the Gargano National Park and Foresta Umbra, all manner of boating and watersports along the coast, and even the chance to spot wildlife, something that you can’t do in much of Puglia.

The old town of Vieste on a promontory jutting out into the sea, seen from the city's southern beach.

The Gargano Peninsula has long been popular with vacationing Italians as well as Germans, Swiss, and Austrians. But because of its location in the extreme north of Puglia, it’s not convenient to get to and it’s impossible to fit into itineraries of less than 10 days.

As such, you’ll find relatively few international visitors - and almost no North Americans - even in the height of summer.

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.

In terms of towns to visit, there’s really not very much here. Its isolation and lack of development is what has kept the area so pristine, so you won’t find many towns. The main centers are Manfredonia, Vieste, Peschici, and Rodi Garganico.

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.

Manfredonia is the largest down in the Gargano and it’s perfectly nice, but not very interesting for tourists.

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.

In the old town, it’s all B&Bs and guesthouses while along the beaches that run north and south of the old town, you’ll also find quite a few medium-sized hotels.

Most of the hotels in town 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 general, the 5 or so larger hotels on the beach north of the old town are comparable in price to the B&Bs in the center. There’s also not a lot of difference between them; some are a little nicer than others, but the standard is pretty much the same.

The hotels along the southern beach, I think, are a bit older and more classic Italian-style (and not quite as nice). The beach, however, is better than the northern one.

While staying in the old town is more atmospheric, I personally prefer staying along the beach. Parking is easier and being there is more convenient if you’ll be taking day trips to other parts of the Gargano.

  • 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. You have standard rooms, apartments, and even little “villas” at bargain prices. $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.

The city of Matera seen from across the canyon

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

Green mediterranean scrubs, rocky cliffs, and the Adriatic sea seen from the SP358 road on Puglia's Salento coastline.

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.

Fret not; your Puglia champion Paolo (me) is here to guide you yet again! (Man that Paolo guy really thinks highly of himself)…

Now, let’s get into how to combine all these bases into a solid itinerary.

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!


Perfect your Puglia itinerary with our favorite local!
Connect with Paolo, our Puglia-based Local Expert for a 60-minute travel consultation!

1-hour live trip planning session
Learn about pro tips & hidden gems
Get advice that's tailor-made to you
Perfect your Puglia itinerary with our favorite local!
Connect with Paolo, our Puglia-based Local Expert for a 60-minute travel consultation!

1-hour live trip planning session
Learn about pro tips & hidden gems
Get advice that's tailor-made to you
Plan Your Itinerary with Paolo
  • Chat with a local expert
  • 1 hour planning session
  • Get pro tips & hidden gems
  • Personalized to you
Learn more
Plan your itinerary with a local!
Connect with Paolo
Paolo

Paolo is a local guide originally from Lecce in Puglia and now based in nearby Matera. He’s been helping travelers explore his home region and most of Southern Italy for almost 20 years. An avid cyclist and local travel aficionado, when not guiding you’ll usually find him cycling in the countryside and on the hunt for the best local restaurants.

https://goaskalocal.com/paolo
Next
Next

A Local’s Guide to Travel in the Peloponnese, Greece