There are 11 ways to get from Milan to Ohrid by bus, plane, train, busferry, car ferry, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus to Il Caravaggio International Airport, fly to Tirana International Airport Nënë Tereza, bus
best- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Tirana International Airport Nënë Tereza (TIA)plane BGY - TIA
- Take the bus from Elbasan to Ohridbus
9h 2m$36–246Train to Milano Malpensa Airport, fly to Tirana International Airport Nënë Tereza, bus
cheapest- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Tirana International Airport Nënë Tereza (TIA)plane MXP - TIA
- Take the bus from Elbasan to Ohridbus
9h 5m$35–183Train, bus and ferry, bus
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Brindisitrain Fr
- Take the busferry from Brindisi - Piazza Capitanerie di Porto to Vlorëbusferry
- Take the bus from Vlorë to Ohridbus
18h 40mTrain, bus
- Take the train from Milano Centrale to Bologna Centraletrain Fr
- Take the bus from Bologna Centrale to Strugabus
20h 17m$171–216Train, car ferry, bus
- Take the train from Milano Centrale to Bari Centraletrain Fr
- Take the car ferry from Port of Bari to Durrëscarferry
- Take the bus from Durrës to Ohridbus
21h 36m$171–532Train to Verona Villafranca Airport, fly to Tirana International Airport Nënë Tereza, bus
- Take the train from Milano Centrale to Verona Porta Nuovatrain
- Fly from Verona Villafranca Airport (VRN) to Tirana International Airport Nënë Tereza (TIA)plane VRN - TIA
- Take the bus from Elbasan to Ohridbus
9h 39m$75–304Train to Turin Caselle Airport, fly to Tirana International Airport Nënë Tereza, bus
- Take the train from Milano Centrale to Torino Porta di Susatrain
- Fly from Turin Caselle Airport (TRN) to Tirana International Airport Nënë Tereza (TIA)plane TRN - TIA
- Take the bus from Elbasan to Ohridbus
9h 56m$71–222Train to Genoa Cristoforo Colombo Airport, fly to Tirana International Airport Nënë Tereza, bus
- Take the train from Milano Rogoredo to Genova P.Za Principetrain
- Fly from Genoa Cristoforo Colombo Airport (GOA) to Tirana International Airport Nënë Tereza (TIA)plane GOA - TIA
- Take the bus from Elbasan to Ohridbus
10h 38m$61–365Fly Milan Linate Airport to Brindisi Airport, bus and ferry, bus
- Fly from Milan Linate Airport (LIN) to Brindisi Airport (BDS)plane LIN - BDS
- Take the busferry from Brindisi - Piazza Capitanerie di Porto to Vlorëbusferry
- Take the bus from Vlorë to Ohridbus
14h 17mBus and ferry, bus
- Take the busferry from Milano Centrale to Tiranabusferry
- Take the bus from Tirana to Ohridbus
29h 35mDrive 1,404.1 km
- Drive from Milan to Ohridcar 1,404.1 km
18h 11m$254–367
Milan to Ohrid by train, bus, car ferry, and foot
Questions & Answers
The cheapest way to get from Milan to Ohrid is to bus and fly which costs $35 - $250 and takes 9h 2m.
The fastest way to get from Milan to Ohrid is to bus and fly which takes 9h 2m and costs $35 - $250.
No, there is no direct bus from Milan to Ohrid. However, there are services departing from Milano Centrale and arriving at Ohrid via Tirana. The journey, including transfers, takes approximately 29h 35m.
The distance between Milan and Ohrid is 1136 km. The road distance is 1404.1 km.
The best way to get from Milan to Ohrid without a car is to train and bus and ferry and bus which takes 18h 40m and costs .
It takes approximately 9h 2m to get from Milan to Ohrid, including transfers.
Milan to Ohrid bus services, operated by Firenze Lines, depart from Milano Centrale station.
Milan to Ohrid bus services, operated by Firenze Lines, arrive at Tirana station.
Yes, the driving distance between Milan to Ohrid is 1404 km. It takes approximately 18h 11m to drive from Milan to Ohrid.
There are 1322+ hotels available in Ohrid.
What companies run services between Milan, Italy and Ohrid, North Macedonia?
There is no direct connection from Milan to Ohrid. However, you can take the bus to Bergamo Airport Bus Station, walk to Il Caravaggio International Airport (BGY) airport, fly to Tirana International Airport Nënë Tereza (TIA), walk to Tirana, Airport, take the bus to Tirana, Terminali Lindor I Autobusave, take the bus to Elbasan, walk to Elbasan, then take the bus to Ohrid. Alternatively, you can take a train from Milano Centrale to Ohrid via Reggio Emilia Av, Brindisi, Brindisi - Via Bastioni Carlo V, Brindisi - Piazza Capitanerie di Porto, Brindisi - Piazza Capitanerie di Porto, Vlorë, and Vlorë in around 18h 40m.
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- $28–230
Flights from Milano Malpensa Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Saturday and Sunday
- Estimated price
- $60–140
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 35m
- When
- Tuesday
- Estimated price
- $60–210
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza via Bari
- Ave. Duration
- 3h 37m
- When
- Monday and Saturday
- Estimated price
- $60–210
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Sunday
- Estimated price
- $28–200
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 50m
- When
- Tuesday
- Estimated price
- $55–240
- Website
- flyulendo.com
Flights from Il Caravaggio International Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- $23–190
Flights from Milano Malpensa Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $23–140
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 40m
- When
- Monday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- $22–170
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $20–120
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 45m
- When
- Monday, Wednesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- $30–290
- Website
- ita-airways.com
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza via Rome
- Ave. Duration
- 3h 50m
- When
- Sunday
- Estimated price
- $75–270
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza via Rome
- Ave. Duration
- 3h 40m
- When
- Sunday
- Estimated price
- $70–270
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- $55–200
Flights from Milan Linate Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- $55–200
- Website
- lufthansa.com
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza via Munich
- Ave. Duration
- 4h 45m
- When
- Tuesday
- Estimated price
- $100–410
- Website
- easyjet.com
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 40m
- When
- Monday and Thursday
- Estimated price
- $75–140
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Hourly
- Estimated price
- $25–50
- Schedules at
- trenitalia.com
Train from Reggio Emilia Av to Brindisi
- Ave. Duration
- 7h 4m
- Frequency
- 5 times a day
- Estimated price
- $130–270
- Schedules at
- trenitalia.com
Train from Milano Centrale to Bologna Centrale
- Ave. Duration
- 1h 6m
- Frequency
- Every 30 minutes
- Estimated price
- $35–70
- Schedules at
- trenitalia.com
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 8h 13m
- Frequency
- Every 4 hours
- Estimated price
- $170–340
- Schedules at
- trenitalia.com
Train from Milano Rogoredo to Genova P.Za Principe
- Ave. Duration
- 1h 18m
- Frequency
- Once daily
- Estimated price
- $21–45
- Schedules at
- trenitalia.com
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 46 min
- Frequency
- 4 times a day
- Estimated price
- $40–50
- Website
- https://www.italotreno.it/en
- Smart Economy
- $40–50
- Smart Flex
- $40–50
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 12m
- Frequency
- Hourly
- Estimated price
- $35–50
- Website
- https://www.italotreno.it/en
- Smart Economy
- $35–50
- Smart Flex
- $40–50
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Hourly
- Estimated price
- $35–50
- Website
- https://www.italotreno.it/en
- Smart Economy
- $35–50
- Smart Flex
- $40–50
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Bologna Centrale
- Ave. Duration
- 2h 37m
- Frequency
- Every 4 hours
- Estimated price
- $24–55
- Website
- https://www.trenitalia.com/en.html
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 9h 45m
- Frequency
- 3 times a day
- Estimated price
- $120–270
- Website
- https://www.trenitalia.com/en.html
Train from Milano Rogoredo to Genova P.Za Principe
- Ave. Duration
- 1h 39m
- Frequency
- Every 4 hours
- Estimated price
- $15–35
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- $5–7
- Website
- https://www.trenord.it/en/
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Rogoredo to Genova P.Za Principe
- Ave. Duration
- 2h 33m
- Frequency
- Hourly
- Estimated price
- $10–15
- Website
- https://www.trenitalia.com/en.html
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- $9–14
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- $5–20
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- $15–20
- Phone
- +389 46 787 312
- info@eurobus.mk
- Website
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 53 min
- Frequency
- Once daily
- Estimated price
- $5–7
- Schedules at
- eurobus.mk
Bus from Vlorë to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $15–21
- Schedules at
- eurobus.mk
Bus from Durrës to Ohrid
- Ave. Duration
- 1h 43m
- Frequency
- Once daily
- Estimated price
- $9–21
- Schedules at
- eurobus.mk
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Busferry from Brindisi - Piazza Capitanerie di Porto to Vlorë
- Ave. Duration
- 4h 28m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- +389 75 209 209
- hakkomerc@gmail.com
- Website
- hakbus.org
Bus from Bologna Centrale to Struga
- Ave. Duration
- 16h 47m
- Frequency
- Once a week
- Estimated price
- $128
- Website
- https://www.hakbus.org/
- Phone
- +389 70 212 106
- info@senadtours.com
- Website
- senadtours.com
Bus from Durrës to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $19
- Schedules at
- senadtours.com
- Phone
- +355 68 391 1009
- info@nelatours.com
- Website
- nelatours.com
Bus from Durrës to Ohrid
- Ave. Duration
- 4h
- Frequency
- Once daily
- Estimated price
- $24
- Schedules at
- nelatours.com
- Phone
- +355696383030
- Website
- firenzelines.com
Busferry from Milano Centrale to Tirana
- Ave. Duration
- 24h 45m
- Frequency
- Once a week
- Schedules at
- firenzelines.com
- Phone
- +355 69 234 8608
- info@dritatravel.com
- Website
- dritatravel.com
Bus from Tirana to Ohrid
- Ave. Duration
- 3h 50m
- Frequency
- Once daily
- Estimated price
- $18
- Schedules at
- dritatravel.com
- Phone
- +3907150211621
- booking@adriaferries.com
- Website
- adriaferries.com
Car ferry from Port of Bari to Durrës
- Ave. Duration
- 9h
- Frequency
- 5 times a day
- Estimated price
- $75–170
- Schedules at
- adriaferries.com
- Outside cabin 2 beds
- $133
- Inner cabin 2 beds
- $110–170
- Deck
- $75–85
- Car
- $115–125
- Inside cabin 2 beds
- $109–114
- Phone
- +30 210 4828001
- booking@ventourisferries.com
- Website
- ventourisferries.com
Car ferry from Port of Bari to Durrës
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- $43
- Website
- https://ventourisferries.com/en/
Want to know more about travelling around North Macedonia
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide












































