10 Perfect Weekend City Breaks in Europe

Skip the obvious capitals. These lesser-known European cities are built for a two-day trip done right.

10 Perfect Weekend City Breaks in Europe

The best weekend city breaks aren’t Paris or London or Rome. Those cities are wonderful, but they punish you for only having two days — you’ll spend the whole time feeling like you’re missing something. The real weekend cities are the ones you can hold in your hand. Small enough to walk, interesting enough to fill 48 hours, and satisfying enough that you leave feeling full rather than rushed.

Here are ten that fit the brief perfectly.

1. Porto, Portugal

Porto is Lisbon’s grittier, more genuine older sibling. The Douro River cuts through the city between steep banks of tiled facades, and the port wine lodges in Vila Nova de Gaia line the opposite shore like a boozy welcome committee.

Do: Walk across the top level of the Dom Luis I Bridge for the vertigo-inducing view. Tour one port lodge (Taylor’s has the best view from the terrace, Graham’s has the best tour). Get lost in Ribeira and end up at a riverside bar.

Eat: A francesinha — Porto’s signature sandwich, which is essentially a heart attack between two slices of bread, covered in melted cheese and a beer-tomato sauce. It should not work. It absolutely works. Cafe Santiago does the definitive version.

Budget: Porto is still affordable. Good dinners for $15-20, a glass of port for $3-4, and accommodation from $50-80/night for a well-located Airbnb.

2. Ljubljana, Slovenia

Ljubljana is the kind of city you describe to friends and they’ve never heard of, so you get to feel smug about it. The old town is pedestrianized and draped along the Ljubljanica River. A castle sits on the hill above. The whole thing looks like someone designed it specifically to be charming.

Do: Take the funicular to Ljubljana Castle, walk along the river through the old town, browse the Central Market on a Friday (the Open Kitchen street food event is here), and rent a bike to ride to Tivoli Park.

Eat: Slovenian food borrows from Italian, Austrian, and Balkan traditions, which means you eat well in every direction. Gostilna na Gradu in the castle serves traditional dishes with the best view in town.

Budget: Slovenia is cheaper than Western Europe but more expensive than the Balkans. Meals run $10-15, and a solid hotel room is $70-100/night.

3. Ghent, Belgium

Everyone goes to Bruges. Ghent is better. It has the same medieval architecture and canal network, but it’s a living city with a university, a music scene, and locals who actually live there rather than just serving waffles to tourists.

Do: Climb the Belfry for the rooftop view of the three-tower skyline. Visit the Ghent Altarpiece in St. Bavo’s Cathedral — one of the most important paintings in Western art, and wildly undervisited. Walk the Graslei waterfront at sunset.

Eat: Ghent has more vegetarian restaurants per capita than any city in Europe. Avalon is a vegetarian institution. For the non-vegetarian: Balls & Glory serves exactly what the name suggests — enormous meatballs with creative toppings.

Budget: Belgian prices with fewer tourists than Bruges. Dinner for $15-20, great Belgian beer for $3-5, hotels from $80-120/night.

4. Tallinn, Estonia

Tallinn’s old town is a medieval fever dream — towers, cobblestones, narrow alleyways, and city walls that look like they were built to repel dragons. It’s also one of the most digitally advanced cities in Europe, which creates a strange and appealing contrast.

Do: Walk the old town walls. Visit Telliskivi Creative City, a former industrial complex turned into cafes, studios, and vintage shops. Take the short trip to Kalamaja, a wooden house neighborhood with some of the best cafes in the Baltics.

Eat: New Nordic meets Estonian tradition. Rataskaevu 16 is the old town staple — their bread basket alone is worth the visit. F-Hoone in Telliskivi does creative comfort food in a converted factory.

Budget: Estonia is one of the cheaper EU countries. A great dinner with wine costs $20-25. Hotels range from $50-90/night. Flights from London or Helsinki are often under $50 on budget carriers.

5. Bologna, Italy

Bologna gets skipped because Florence and Venice are nearby, which is exactly why you should go there instead. It’s the food capital of Italy — mortadella, ragu, tortellini, and Parmigiano-Reggiano all come from this region. The city is built around porticoes (covered walkways) that make it beautiful to walk even in the rain.

Do: Climb the Asinelli Tower for the terracotta rooftop panorama. Walk under the porticoes of Via dell’Indipendenza. Visit the Quadrilatero market for ingredients and lunch.

Eat: Everything. Osteria dell’Orsa is the student favorite for pasta. Tamburini is a deli-restaurant that’s been operating since 1932. Get a mortadella sandwich from any alimentari and eat it standing up, which is the correct way.

Budget: Cheaper than Florence or Rome. Exceptional pasta dishes for $10-12. A carafe of house wine for $5. Hotels from $70-110/night.

6. Kotor, Montenegro

Kotor sits at the end of a deep fjord-like bay in the Adriatic, backed by a sheer mountain wall with a fortress zig-zagging up the cliff face. The old town is Venetian — stone alleys, churches on every corner, and cats outnumbering tourists.

Do: Climb the 1,350 steps to the fortress of San Giovanni. Start early in the morning before it gets hot. The view from the top — the bay laid out below, the mountains rising on all sides — is one of the best in Europe. Walk the old town, then take a water taxi across the bay to Perast for a quieter afternoon.

Eat: Montenegrin food is simple and good. Grilled fish, seafood risotto, and Njeguski steak (stuffed with ham and cheese from the mountain village above). Galion does waterfront dining with views across the bay.

Budget: Montenegro is genuinely affordable. Full dinners for $10-15. Guesthouses in the old town from $40-60/night. Getting there is the only expensive part — fly into Dubrovnik or Tivat.

7. Gdansk, Poland

Gdansk’s old town was rebuilt from rubble after World War II, and the reconstruction is so meticulous that the colorful merchant houses along the waterfront look like they’ve been there for centuries. Which, in a sense, they have.

Do: Walk the Royal Way from the Highland Gate to the Green Gate. Visit the European Solidarity Centre — the museum at the former Gdansk Shipyard where the Solidarity movement began. Take the train to Sopot for the beach and the longest wooden pier in Europe.

Eat: Polish food is hearty and honest. Pierogi, of course, but also zurek (sour rye soup) and smoked fish from the Baltic. Pierogarnia Mandu does creative pierogis with fillings you won’t find anywhere else.

Budget: Poland remains one of the best-value countries in the EU. Big dinners for $8-12. Craft beer for $2-3. Hotels from $40-70/night.

8. Colmar, France

Colmar looks like a storybook illustration that someone accidentally built in real life. Half-timbered houses in Easter-egg colors line the canals of the Petite Venise quarter. The Alsatian wine route starts here and winds through vineyard-covered hills.

Do: Walk Petite Venise and the old town. Visit the Unterlinden Museum for the Isenheim Altarpiece. Day trip to the wine villages — Riquewihr and Eguisheim are both within 20 minutes and are absurdly picturesque.

Eat: Alsatian food is the meeting point of French and German cuisines, which means you get both refinement and portion size. Tarte flambee (Alsatian flatbread with cream, onions, and lardons) is the local essential. Wash it down with a glass of local Riesling or Gewurztraminer.

Budget: Cheaper than Paris but still France. Meals run $15-25. Wine is excellent and affordable — $3-5 a glass. Hotels from $80-120/night.

9. Matera, Italy

Matera is one of the oldest continuously inhabited cities in the world. The sassi — ancient cave dwellings carved into limestone ravines — were inhabited until the 1950s, abandoned, and then slowly restored into one of the most extraordinary cityscapes in Italy.

Do: Walk the Sassi di Matera, the two cave districts that form the old city. Visit the rock churches (chiese rupestri) with their Byzantine frescoes. Watch the sunset from the viewpoint across the gorge at Belvedere di Murgia Timone.

Eat: Puglian-Lucanian food — bread baked in wood ovens, handmade orecchiette, peppers, and lamb. Baccanti does refined local cooking. Trattoria del Caveoso is simpler and perched on the edge of the ravine.

Budget: Matera is surprisingly affordable for how spectacular it is. Pasta dishes for $8-12. Cave hotels (yes, you can sleep in a cave) from $70-100/night.

10. Bruges-Without-Going-to-Bruges: Mechelen, Belgium

If Ghent still feels too discovered, try Mechelen. Halfway between Brussels and Antwerp, it has the medieval architecture, the breweries, and the canal-side walks — without a single tour bus. Most Belgians would tell you it’s one of the prettiest towns in the country, and most tourists have never heard of it.

Do: Climb the St. Rumbold’s Tower — 538 steps for a view that reaches Antwerp and Brussels on a clear day. Visit Het Anker brewery for a tour and a glass of Gouden Carolus. Walk along the Dijle River through the old town.

Eat: Het Anker also has a restaurant that pairs their beers with local dishes. De Cirque on the Grote Markt serves brasserie food in the main square. Frites from any frituur stand, eaten on a bench by the cathedral, is the correct Belgian lunch.

Budget: Small-town Belgian prices. Dinners for $12-18. Hotels from $60-90/night. Trains from Brussels take 25 minutes and cost under $10.

The Formula

The perfect weekend city break needs four things: a compact walkable center, at least one view that stops you in your tracks, food good enough to plan meals around, and the feeling that you’ve discovered something your friends haven’t been to yet.

Every city on this list delivers all four. Pick one, book a flight, and leave the guidebook at home. Two days is enough. Sometimes two days is perfect.

More stories like this

Off-the-beaten-path destinations and travel guides, delivered weekly.