Both Thessaloniki and Ohrid are tourism hotspots in the southern Balkans. During my travels across Greece, North Macedonia and Albania in October 2026 though, I noticed that connecting both places was quite difficult. No direct busses or trains will take you from one place to the other and most rental car companies will prohibit you from taking their car across the border. Therefore, in this guide I want to show you all the ways you can make still the journey happen with public transportation. I will go into the details on how fast different routes are, how much they cost and how you can book each leg of the connection. If you want to travel onward from Ohrid to Tirana click here.
Ohrid via Skopje
Thessaloniki to Skopje
In order to get from Thessaloniki to Skopje, you may think you can take the train as railway tracks connect both cities. Unfortunately services between both countries have been suspended since 2017. Main reasons for this were of economic nature, but probably a lack of interest from both sides is also to blame. Since then your only option is to travel on a quite expensive bus operated either by Rule Tours or Simeonidis Tours depending on the weekday.
Theoretically there are also other ways to reach Skopje but they involve several transfers and will just complicate the journey from Thessaloniki to Ohrid.

| Day of the Week | Operator | Departure Time |
|---|---|---|
| Monday | Simeonidis Tours | 8:30 |
| Tuesday | Rule Tours | 15:30 |
| Wednesday | Simeonidis Tours | 8:30 |
| Thursday | Rule Tours | 15:30 |
| Friday | Simeonidis Tours | 8:30 |
| Saturday | Rule Tours | 15:30 |
| Sunday | – | – |
This schedule seems to have been in place for quite some time already. On the right-hand side of the Thessaloniki Central Station you will find a small office, where tickets can be acquired in person. This is also where the bus will pick you up. Keep in mind that it only opens once a bus is set to depart in the next 1 or 2 hours. During the rest of the day the booth is closed. Luckily both operators sell their tickets via FlixBus as well, which makes buying a ticket much easier. The bus currently costs 35,99€.
This part of the itinerary is the bottleneck. If you miss the bus here, you will have to wait until the next day before you get another chance to board. The morning departure means, that you will arrive in Skopje in the afternoon. The afternoon departure will mean a very late arrival time, though both times are feasible as there are plenty of busses between Skopje and Ohrid even later in the evening. Your connections therefore will not be endangered at any point.
Busses operating on this route are large, air-conditioned and modern, reaching Skopje after roughly 4 hours covering 236 kilometers. The slow pace is mostly due to the border, where long wait times are not out of the ordinary.
Skopje to Ohrid
Traveling onward from Skopje to Ohrid is quite simple as domestic bus routes within North Macedonia often have many daily departures, at least between the bigger towns of the country. If you arrive with the Morning Bus from Thessaloniki at 11:30 you will easily reach the 12:30 bus operated by Klasik Kompani, which then arrives in Ohrid at around 15:30. On the other hand, if you arrive with the afternoon bus from Thessaloniki at 18:30 your next bus will be the 19:30 service, also operated by Klasik Kompani.
Important Tip:
There are more connections in the summer months, which can cut the waiting time in Skopje in half. Check the schedule for connections before arrival into Skopje.
Luckily both the arriving bus from Thessaloniki and the departing bus for Ohrid end and begin in Skopje Bus Station making the transfer seamless. There are even more connections running from Skopje to Ohrid than the ones mentioned in case you want to extend your stay in Skopje a little longer or make a multi-day city break there. The bus to Ohrid currently costs 13 to 15€. Here are the current departures from Skopje to Ohrid:
| Operator | Departure in Skopje | Arrival into Ohrid |
|---|---|---|
| AD Galeb Ohrid | 4:30 (Summer) | 8:00 |
| Klasik Kompani | 6:30 | 9:26 |
| AD Galeb Ohrid | 8:00 | 12:20 |
| Biser Prom | 8:30 (Summer) | 11:30 |
| AD Galeb Ohrid | 10:00 | 13:45 |
| Klasik Kompani | 11:00 | 14:00 |
| AD Galeb Ohrid | 12:00 (Summer) | 15:15 |
| Klasik Kompani | 12:30 | 15:30 |
| AD Galeb Ohrid | 13:30 (Summer) | 16:45 |
| AD Galeb Ohrid | 14:00 (Summer) | 17:20 |
| AD Galeb Ohrid | 15:00 (Summer) | 18:45 |
| Klasik Kompani | 15:00 (Not Summer) | 17:56 |
| AD Galeb Ohrid | 16:30 | 21:48 |
| AD Galeb Ohrid | 16:30 | 19:45 |
| AD Galeb Ohrid | 18:00 (Summer) | 21:15 |
| AD Galeb Ohrid | 18:30 | 22:20 |
| Klasik Kompani | 19:30 | 23:00 |
| AD Galeb Ohrid | 20:55 (Summer) | 00:55 |
| AD Galeb Ohrid | 21:30 (Summer) | 1:30 |
| Martinoska Struga | 22:30 | 1:26 |

Busses on this route are mostly in the form of small minibuses. Depending on which bus you take, you will be on there for shorter or for longer depending in the route it takes, how many stops there are along the way and so on. To find the most up-to-date information for the itinerary head over to atlasmkd.
Most of the time, busses cannot be booked in advance. Although some operators allow for it on their own websites it is the standard in North Macedonia to buy your ticket once you arrive at the station. If you still want to book ahead of time and don’t want to fiddle around with the confusing booking platforms of the bus companies, you can use Bookaway. On there, a couple of connections can be booked ahead of time, although it misses most connections offered on the route.
In my opinion it is best to acquire your ticket upon arrival into Skopje. You have enough time to go to the ticket counter and busses are rarely sold out in advance. You will get off the bus at Ohrid Bus Station, from where it is a 25 minute walk or a 3-4€ taxi ride into the town center.
Ohrid via Florina
Thessaloniki to Florina
At least on a map, traveling via Florina to Ohrid seems more straightforward, as you will not have to make the enormous detour via Skopje. On this route though there are more individual rides you will have to take on. The first one of these is the train from Thessaloniki to Florina. This connection, which was suspended from 2023 until early 2026 after an accident, is one of the most beautiful train rides in Greece and passes lush mountains and pristine lakes on its way to Florina. Definitely the more scenic way to reach Ohrid. The connection departs Thessaloniki Main Station twice a day taking just over 3 hours to reach Florina.
| Departure in Thessaloniki | Arrival into Florina |
|---|---|
| 10:40 | 13:44 |
| 13:55 | 17:01 |
The route is operated by the national carrier Hellenic Train and uses pretty outdated diesel units to serve it. Nonetheless tickets are really cheap coming in at just 10€ and the ride was pretty smooth in my opinion. The space inside a train also makes for a much nicer ride than any bus ever could in my opinion. Tickets can be bought on the train carriers website or directly at the station. There are discounts for young people so make use of that if you are under 25.

Florina to Bitola
Now here comes the difficult part of this route. Although at Florina you are already two-thirds of the way to Ohrid, there currently exists no public transport connection to Bitola in North Macedonia. The way most people therefore cross over to Bitola is by taxi. When exiting the train station in Florina there will be several of them parked outside. Any of them will take you across the border. A ride to Bitola costs around 30€.
You can also save a bit of money by only taking the greek taxi to the border, then walking across to North Macedonia on foot and taking one of the cheaper north macedonian taxis to Bitola. The price for this connecting taxi ride will be around 25€. Time-wise I would plan at least 1:15 h to get from Florina to Bitola with the taxi. Although you will probably be faster, there is always the rare chance that you will not immediately find a taxi upon arrival into Florina.
The cheapest option on this route is hitchhiking. I chose to do it to reach to Bitola as I had already some good experiences on prior journeys but to each their own. I waited roughly 30 minutes until someone stopped and picked me up. The north macedonian driver told me, that you will have the best chances to find a car from Florina to Bitola on the Lidl Parking Lot, as many Macedonians tend to cross the border to shop in Greece.
Bitola to Ohrid
Reaching Ohrid from Bitola is really easy, as there are many daily bus connections. The domestic bus network in North Macedonia is really good and you will not have to wait too long if you miss one. The current schedule is as follows but for the most up-to-date information check on atlasmkd, a website comprising all bus routes and timetables in the country.
| Operator | Departure in Bitola | Arrival into Ohrid |
|---|---|---|
| AD Galeb Ohrid | 5:25 (Summer) | 7:10 |
| Transkop Bitola | 6:30 | 8:58 |
| Ekstra 03 Kavadarci | 8:08 (Summer) | 10:00 |
| Transkop Bitola | 9:00 | 10:48 |
| AD Galeb Ohrid | 9:15 (Summer) | 11:45 |
| TUR Dimaks Travel | 10:30 | 13:13 |
| AVTO Atom | 10:35 | 12:15 |
| AVTO Atom | 11:03 (Summer) | 12:46 |
| Transkop Bitola | 13:15 | 14:58 |
| Klasik Kompani | 14:05 (Summer) | 15:18 |
| Transkop Bitola | 15:00 | 16:43 |
| TUR Dimaks Travel | 16:00 | 17:43 |
| AD Galeb Ohrid | 18:45 | 20:30 |
| AD Galeb Ohrid | 20:05 | 21:48 |
Busses here are mostly in the form of smaller minibuses. They are not quite as comfortable as big busses, but they get the job done. The busses depart from Bitola Bus Station and arrive at Ohrid Bus Station. A ride currently costs 440 MKD, which converts to 7,15€. If you come by taxi from Florina you can advise the driver to drop you directly at the bus terminal. It will save you time and money as it is situated on the southern end of the city in the direction of Florina. The bus terminal in Ohrid sits roughly 2 km north of the city center. To get from there into the old town you can either walk, which takes roughly 25 minutes or take a taxi, which costs about 3-4€.

Which option is faster?
Here I calculated a realistic time frame for each connection from Thessaloniki to Ohrid. I included achievable transfer times, especially for the taxi ride from Florina to Bitola. I hope this gives you an idea of how much time you should plan for the journey.
Thessaloniki -> Skopje -> Ohrid (morning)
- 8:30 departure in Thessaloniki
- 11:30 arrival in Skopje
- 1 hour transfer time
- 12:30 departure in Skopje
- 15:30 arrival in Ohrid
Total travel time: 8 h
Thessaloniki -> Skopje -> Ohrid (evening)
- 15:30 departure in Thessaloniki
- 18:30 arrival in Skopje
- 1 hour transfer time
- 19:30 departure in Skopje
- 23:00 arrival in Ohrid
Total travel time: 8:30 h
Thessaloniki -> Florina -> Ohrid (morning)
- 10:40 departure in Thessaloniki
- 13:44 arrival in Florina
- Taxi to Bitola
- 15:00 departure in Bitola
- 16:43 arrival in Ohrid
Total travel time: 7:03 h
Thessaloniki -> Florina -> Ohrid (evening)
- 13:55 departure in Thessaloniki
- 17:01 arrival in Florina
- Taxi to Bitola
- 18:45 departure in Bitola
- 20:30 arrival in Ohrid
Total travel time: 7:35 h
How much does it cost?
Pricewise, getting from Thessaloniki to Ohrid is not cheap at all, as no matter which border crossing you choose to get from Greece to North Macedonia, the sparse or missing public transport links across it raises the price for the journey steeply. Here, I want to give you a rough overview of what each of the different connections will cost you, broken down by each leg:
Thessaloniki -> Skopje -> Ohrid
| Bus Thessaloniki to Skopje | 36€ |
| Bus Skopje to Ohrid | 13-15€ |
| Total | 49€ – 51€ |
Thessaloniki -> Florina -> Ohrid
| Train Thessaloniki to Florina | 10€ |
| Taxi Florina to Bitola | 25-30€ |
| Bus Bitola to Ohrid | 7,50€ |
| Total | 42,50€ – 47,50€ |
As you can see, both connections are rather expensive, when you take in consideration that the direct driving distance between both cities is just under 300 km. If you choose to hitchhike from Florina to Bitola you can save the taxi ride bringing down the price to just 14,50€.
