Church of St. John at Kaneo, Ohrid.
Photo: kallerna, CC BY-SA 4.0
Plan Your Trip

My Balkans Itinerary from Sofia: 2 Weeks by Coach and Train

My two-week loop from Sofia through Thessaloniki, Skopje and Lake Ohrid, plus an eastern version by train to Istanbul.

Sofia is a 3-hour flight from London and a coach ride from Greece, North Macedonia and Romania, which makes it the easiest place I know to start a Balkans trip. With two weeks, this is my loop: Thessaloniki, Skopje and Lake Ohrid by coach, then home through Plovdiv. If you'd rather head east, there's a 13-day version by train through Bucharest, Veliko Tarnovo and Istanbul, with two nights on the sleeper.

My two-week Balkans loop from Sofia at a glance

I start and finish in Sofia because the flights are cheap and run all year: Ryanair from Stansted, Wizz Air from Luton, and British Airways and Bulgaria Air from Heathrow. Flights from the UK to Sofia take about 3 hours, and the city is two hours ahead of London. From there the loop drops south into Greece, heads north into North Macedonia, and comes back through Sofia to Plovdiv for the last two nights.

DayWhere you goWhere you sleep
1Land in Sofia, the centre on footSofia
2Boyana Church and VitoshaSofia
307:00 coach to Thessaloniki, the seafront in the afternoonThessaloniki
4The Rotunda, the Arch of Galerius and Ano PoliThessaloniki
5The markets, Hagios Demetrios and a long lunchThessaloniki
608:30 coach to Skopje, the Stone Bridge and the Old BazaarSkopje
7Bus to Ohrid, sunset at KaneoOhrid
8Samuel's Fortress, Plaosnik and the old townOhrid
9St Naum Monastery and a swimOhrid
10Bus back to Skopje, the afternoon at Matka CanyonSkopje
11Coach to SofiaSofia
12Bus or train to Plovdiv, the Roman theatrePlovdiv
13The Old Town houses and KapanaPlovdiv
14Back to Sofia, fly home

Thessaloniki and Ohrid get 3 nights each, which leaves a full day for the Roman city and another for St Naum. Skopje gets one night on the way to Ohrid and one on the way back, with an afternoon each time for the centre and for Matka Canyon.

Getting between the stops: every coach leg timed

BDZ runs no trains to Greece or North Macedonia, so this loop goes by coach. FlixBus covers the three border crossings, and the buses between Skopje and Ohrid fill the gap inside North Macedonia.

RouteDeparturesTimeFare
Sofia and ThessalonikiFlixBus, about 2 a day from Sofia, first 07:00, last 17:50About 4h40From about €12 out of Sofia
Thessaloniki and SkopjeFlixBus, 08:30 and 15:30 from ThessalonikiAbout 4 hoursFrom about €36 out of Thessaloniki
Skopje and OhridBuses from Skopje bus stationAbout 3 hoursAbout €20
Sofia and SkopjeFlixBus with its partner Kaleia, 07:00 and 17:30 each wayAbout 5 hours out, 4h40 backFrom about €27
Sofia and PlovdivBus, or the slower trainAbout 2 hours by bus€8.50 to €11 by bus

Sofia Central Bus Station stands next to the Central Railway Station on Maria Luiza Boulevard, and the Skopje coach (line CBS905) uses platform 41 there. In Thessaloniki, FlixBus stops outside the railway station on Monastiriou Street, and in Skopje at the main bus station on Nikola Karev. Each FlixBus ticket includes a 7 kg carry-on and a 20 kg bag, and I book every cross-border leg on FlixBus's own route pages a week or two ahead.

Days 1 and 2: Sofia

The M4 metro runs from beside Terminal 2 into the centre in about 20 minutes for €0.80. Day 1 takes the sights from a weekend in Sofia that cost nothing: Alexander Nevsky Cathedral, the Roman streets of Serdica in the metro concourse, the hot mineral springs where locals fill their bottles, and a walk down Vitosha Boulevard as the light goes. The next morning I take a taxi to Boyana Church, whose frescoes date from 1259 and whose €10 ticket lets in 9 people at a time, then walk up the forest trail onto Vitosha.

Alexander Nevsky Cathedral in Sofia, with its bell tower, gold dome and green copper roofs, in evening light across an empty cobbled square
Photo: Jose Ligero Loarte, CC BY-SA 4.0

Bulgaria has used the euro since 1 January 2026, and Greece uses it too, so the first currency change on this loop comes at Skopje.

Days 3 to 5: Thessaloniki

The coach from Sofia to Thessaloniki crosses into Greece at Kulata, and the 07:00 has you by the sea before lunch. I keep my passport in my day bag for that crossing, because border guards can still ask for it. You'll hear Bulgarians call the city Solun (Солун).

I spend the first afternoon on the seafront. The White Tower, built by the Ottomans on the water's edge, now holds a museum of the city's history, and the promenade runs east from it past the Umbrellas sculpture, with the bay on your right.

The round stone White Tower of Thessaloniki with a Greek flag on top, seen across the water of the bay with the seafront promenade and city behind
Photo: Annatsach, CC BY-SA 4.0

My second day is Roman and Byzantine Thessaloniki. The Rotunda was built in the early 4th century for Emperor Galerius, then became a church and later a mosque, which is why a minaret stands beside it, and it's one of the city's UNESCO-listed monuments. The Arch of Galerius, a few steps away, is carved with scenes of his campaigns. In the late afternoon I climb to Ano Poli, the upper town, for its lanes of old houses and its Byzantine walls, and stay for the sunset over the bay.

The round red brick Rotunda of Thessaloniki with its tall white minaret beside it and a metal walkway leading to the door across the excavated ruins
Photo: Holger Uwe Schmitt, CC BY-SA 4.0

The third morning starts with bougatsa, the city's filo pastry filled with custard or cheese, then the Kapani and Modiano markets and Hagios Demetrios, the basilica of Thessaloniki's patron saint.

Days 6 to 10: Skopje and Lake Ohrid

North Macedonia gets 5 nights on this loop: 3 at Lake Ohrid and one in Skopje on each side of them.

Skopje: the Stone Bridge and the Old Bazaar

The coach stops at the Greek and the Macedonian border posts for passport checks. The 15th-century Stone Bridge crosses the Vardar from Macedonia Square, crowded with the statues and columned facades the city put up in the 2010s, to the old Ottoman quarter on the north bank. Mother Teresa was born in Skopje in 1910, and her memorial house stands on Macedonia Street, a few minutes' walk from the square.

The many-arched Stone Bridge in Skopje spanning the Vardar river, with domed buildings on the far bank under a cloudy sky
Photo: CAPTAIN RAJU, CC BY-SA 4.0

Over the bridge, the Old Bazaar is the part of Skopje I like best: stone lanes of small shops, Ottoman mosques, an old hammam now used as an art gallery, and caravanserai courtyards, with Kale Fortress on the hill above. I eat grilled kebapi there for lunch.

A paved lane in Skopje's Old Bazaar lined with two-storey shops, with a mosque minaret rising at the end of the street
Photo: Mike Norton, CC BY 2.0

Ohrid: three nights on the lake

A morning bus from Skopje has me on the lakefront by early afternoon. Ohrid's old town climbs a hill above one of the oldest lakes in Europe, and the town and lake together are on UNESCO's list. The first evening is for St John at Kaneo, a small 13th-century church on a rock above the water, and the sunset from the path beside it.

The old town takes my second day. I walk up to Samuel's Fortress at the top of the hill for the view across the lake to the Albanian mountains, then down through Plaosnik, where St Clement, a pupil of Cyril and Methodius, taught from the late 9th century, and past the ancient theatre to the harbour.

The stone walls and towers of Samuel's Fortress in Ohrid on a grassy hilltop, with Lake Ohrid and distant mountains behind
Photo: Diego Delso, CC BY-SA 3.0

On the third day I head for St Naum Monastery at the southern tip of the lake, close to the Albanian border, where springs feed the lake beside the church. In summer I go by boat from the harbour, take the bus back, and stop at a beach along the shore for a swim.

The white buildings and church tower of St Naum Monastery on a wooded headland above the blue water of Lake Ohrid, with boats moored below
Photo: Will from New York, USA, CC BY-SA 2.0

Back through Skopje: Matka Canyon

A morning bus gets you back to Skopje by lunchtime, and I spend the afternoon at Matka Canyon, a lake held between steep limestone cliffs south-west of the city, reached by city bus or taxi. Boats and kayaks go up the gorge, a path runs along the cliff above the water, and the little St Andrew's monastery stands by the dam.

The green lake of Matka Canyon between high grey limestone cliffs, with small boats on the water
Photo: Делфина, CC BY-SA 4.0

Days 11 to 14: back to Sofia and on to Plovdiv

The coach between Skopje and Sofia takes about 4h40 in this direction, with passport checks on both sides. If you hold a UK passport, the EU's Entry/Exit System logged you out of the Schengen area at the Greek border on Day 6 and logs you back in at the Bulgarian border here.

Plovdiv is about 2 hours from Sofia by bus. Trains in Bulgaria cost less than the coach on this line if you don't mind up to an extra hour, but BDZ fares change with the day and the time, so I check the BDZ timetable before any rail leg.

Plovdiv's Old Town is my favourite place in Bulgaria after Sofia. The Roman theatre is almost 2,000 years old and costs €3.58 to get into. Above it the painted merchants' houses climb the hill, and a €10.74 combined ticket covers 5 Old Town sites. I end the first day on Nebet Tepe, the rocky hilltop at the north end of the Old Town, then eat in Kapana, a few blocks of narrow streets full of bars and cafes. On Day 14 the bus or train takes you back to Sofia and the M4 back out to the airport.

The tiered stone seats and columned stage of the Roman theatre in Plovdiv Old Town, with the city and hills behind
Photo: CivArmy, CC BY 4.0

Borders, passports and money on this route

Bulgaria, Greece and Romania are full Schengen members, so there are no routine passport checks between them. North Macedonia and Turkey sit outside the EU, so you queue at both border posts and get stamped.

CountryCurrencyIn SchengenUK passport rules
BulgariaEuroYes90 days in any 180 across Schengen
GreeceEuroYesSame 90 days
RomaniaLeuYesSame 90 days
North MacedoniaDenarNoUp to 3 months, passport valid 90 days after arrival
TurkeyLiraNo90 days in any 180, passport valid 150 days after arrival

North Macedonia runs an hour behind Bulgaria and Greece, so the clock goes back when you cross. Foreigners there register with the police within 48 hours of arriving, and a hotel does it for you at check-in. If you stay with friends instead, you register with the local police yourself and de-register 24 hours before you leave.

The eastern loop: Bucharest, Veliko Tarnovo and Istanbul in 13 days

This is the version for train lovers, and the one I'd pick for a first trip to Istanbul. It takes the day train to Bucharest, a train back south across the Danube, and the Istanbul sleeper both ways, so two of the nights are spent on board.

DayWhere you goWhere you sleep
1 and 2SofiaSofia
307:00 train to Bucharest Nord, in at 16:56Bucharest
4BucharestBucharest
510:46 train to Veliko Tarnovo, in at 17:50Veliko Tarnovo
6Tsarevets and the old townVeliko Tarnovo
7Direct bus to Plovdiv, about 3 hoursPlovdiv
8Plovdiv, then the sleeper just before 10pmThe train
9Istanbul Halkali at 07:21Istanbul
10 and 11IstanbulIstanbul
12The 23:13 sleeper from HalkaliThe train
13Sofia at 10:55, fly home

Sofia to Bucharest by day train

The train from Sofia to Bucharest leaves at 07:00 and reaches Bucharest Nord at 16:56, for €30.60 each way in second class, the only class it has. A through car runs from 12 June to 11 October 2026, and the rest of the year you change at Ruse on the Danube. I book it on CFR's international ticket site, one direction at a time.

I give Bucharest two nights. My favourite building is the Romanian Athenaeum, a domed concert hall opened in 1888 on Calea Victoriei, the old main avenue I walk end to end. From there it's a short walk to the narrow streets of the Old Town and on to Ceaușescu's Palace of the Parliament.

The domed neoclassical Romanian Athenaeum in Bucharest with its columned portico, behind a garden of lawns and trimmed hedges
Photo: Diego Delso, CC BY-SA 4.0

Back south to Veliko Tarnovo

The 10:46 from Bucharest reaches Ruse at 13:40, leaves at 14:25 and runs on to Gorna Oryahovitsa, where a connection at 17:35 gets you into Veliko Tarnovo at 17:50. The station sits at the bottom of the hill, so I take a taxi up. Tsarevets, the walled hill of the medieval tsars, costs €7.67 and fills the next morning, and Veliko Tarnovo's old town, with its houses hanging over the Yantra, fills the afternoon. A direct bus then takes about 3 hours to Plovdiv.

The stone gateway and snow-dusted walls of Tsarevets fortress in Veliko Tarnovo, with the Patriarchal Cathedral on the hilltop behind
Photo: MrPanyGoff, CC BY-SA 3.0

The Istanbul sleeper from Plovdiv

The Sofia to Istanbul Express leaves Plovdiv at 21:57 on BDZ's November 2026 timetable, and reaches Istanbul Halkali at 07:21. From Sofia, BDZ charges €26.40 in second class plus a compulsory couchette reservation from €10, and a bed in a 2-berth sleeper costs €15 on top of the ticket. You get off twice in the night: at Svilengrad for Bulgarian exit checks at a kiosk on the platform, and at Edirne with all your luggage for a Turkish passport stamp and a bag scan. Boarding at Plovdiv saves the trip back to the capital, and the sleeper from Sofia to Istanbul runs every night of the year.

Istanbul, then the night train home

Halkali is 25 km out, so I take the Marmaray suburban line from there to Sirkeci, by the old city. Three nights gets you Hagia Sophia and the Blue Mosque facing each other across Sultanahmet, the Grand Bazaar, and a ferry across the Bosphorus to Kadıköy on the Asian side.

The domes, buttresses and minarets of Hagia Sophia in Istanbul under a cloudy sky
Photo: Ninara, CC BY 2.0

The westbound sleeper leaves Halkali at 23:13, stops at Plovdiv at 07:47 and gets into Sofia at 10:55, in time for an afternoon flight. A couchette berth costs about €38 on TCDD's site.

What the loop costs per person

Per personWestern loop, 14 daysEastern loop, 13 days
TransportAbout €130 by coach and busAbout €105 for the Bucharest train and both sleepers, plus the train to Veliko Tarnovo and the bus to Plovdiv
Nights on a trainNone2
Eating out in Bulgaria€8 to €10 for a casual lunch, €15 to €20 for a simple dinner before drinksThe same

The western €130 adds up the cheapest fares: about €12 to Thessaloniki, €36 on to Skopje, €20 each way between Skopje and Ohrid, €27 back to Sofia and from €8.50 each way to Plovdiv. The eastern €105 is the Bucharest train at €30.60, the Istanbul sleeper's €26.40 fare with a €10 couchette, and about €38 for a TCDD couchette home. Neither column includes flights or beds.

The best time for a Balkans trip from Sofia

I'd do the western loop in June or September, when Lake Ohrid is warm enough for me to swim and the evenings are long enough for a late walk on Thessaloniki's seafront. The eastern loop works in any season, and in summer the Bucharest train goes straight through without the change at Ruse. For a trip in 2027, I'd check the Danube line closure before booking anything. May to October is the best time to visit Sofia, and the same months suit the rest of this route.

Adding Belgrade, or staying in Bulgaria

With three weeks, I'd add Serbia. The direct train between Belgrade and Sofia is suspended, and the coach from Sofia to Belgrade takes about 6 hours from about €38, with about 4 a day.

If a week inside Bulgaria sounds better, I'd do 7 days in Bulgaria by bus and train: 2 nights each in Sofia, Plovdiv and Veliko Tarnovo, with Rila Monastery as a day out from Sofia.

Key takeaways

  • With two weeks, I'd loop from Sofia through Thessaloniki, Skopje and Ohrid by coach, then end with two nights in Plovdiv.
  • The coach and bus fares on that loop come to about €130, and no leg takes more than about 4h40.
  • For a train trip instead, take the day train to Bucharest, a train south to Veliko Tarnovo and the sleeper from Plovdiv to Istanbul and back.
  • North Macedonia and Turkey mean passport queues and their own currencies, while Bulgaria and Greece both use the euro.
  • Book the Istanbul sleeper on TCDD's site about 8 weeks ahead in summer.

Frequently asked questions

How many days do you need for a Balkans trip from Sofia?

Two weeks covers Sofia, Thessaloniki, Skopje, Lake Ohrid and Plovdiv with no coach ride over 5 hours. With 10 days I'd drop Plovdiv and take a night each off Thessaloniki and Ohrid.

Is there a train between Sofia and Istanbul?

Yes, a sleeper leaves Sofia just before 7pm every evening and reaches Istanbul's Halkali station at 07:21. Second class costs €26.40 plus a couchette from €10, and you get off twice in the night for border checks.

How far is it from Sofia to Istanbul?

About 560 km, or 350 miles, by road. The FlixBus coach takes about 8 hours from about €38, with about 3 a day, and the sleeper does it overnight.

What is the best way to get to Thessaloniki from Sofia?

By coach, since no train runs between them. FlixBus takes about 4h40 from about €12, with the first coach at 07:00 and the last at 17:50, and stops at Thessaloniki's railway station.

How far is Bucharest from Sofia?

About 398 km by road. The coach takes about 6.5 hours from about €20, and the day train leaves Sofia at 07:00 and reaches Bucharest Nord at 16:56 for €30.60.

Do you need a visa for North Macedonia with a UK passport?

No, UK passport holders can visit North Macedonia for up to 3 months without a visa. Your passport has to be valid for at least 90 days after the day you arrive.

Can you visit Skopje as a day trip from Sofia?

Not comfortably, because the coach takes about 5 hours out and 4h40 back. I'd stay at least one night, and longer if you're carrying on to Ohrid.