There are 12 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 Milan Bergamo Orio al Serio Airportbus
- 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 18m$31–302Train 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 21m$20–273Train, bus and ferry, bus via Bari
- Take the train from Milano Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Bari Centraletrain Fr
- Take the busferry from Bari Porto to Durrësbusferry
- Take the bus from Durrës to Elbasanbus
- Take the bus from Elbasan to Ohridbus
17h 49mTrain, 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, car ferry, bus
- Take the train from Milano Centrale to Bari Centraletrain Fr
- Take the carferry from Port of Bari to Durrëscarferry
- Take the bus from Durrës to Ohridbus
22h 10m$187–372Fly 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
12h 55mTrain 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
10h$46–313Train 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
10h 4m$40–241Train to Genoa Cristoforo Colombo Airport, fly to Tirana International Airport Nënë Tereza, bus
- Take the train from Milano Centrale 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 42m$46–295Bus
- Take the bus from Milano, Autostazione Lampugnano to Tiranabus
- Take the bus from Tirana to Elbasanbus
- Take the bus from Elbasan to Ohridbus
28h 2m$87–365Bus and ferry, bus
- Take the busferry from Milano Centrale to Durrësbusferry
- Take the bus from Durrës to Ohridbus
28h 12m$130Drive 1,403.9 km
- Drive from Milan to Ohridcar 1,403.9 km
18h 21m$254–367
Il Caravaggio International Airport (BGY) to Tirana International Airport Nënë Tereza (TIA) flights
Comparing Your Travel Options
The cheapest way to get from Milan to Ohrid is to train and fly and bus which costs $40 - $250 and takes 10h 4m.
The fastest way to get from Milan to Ohrid is to bus and fly which takes 9h 18m and costs $30 - $310.
No, there is no direct bus from Milan to Ohrid. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Ohrid via Tirana and Elbasan. The journey, including transfers, takes approximately 28h 2m.
The distance between Milan and Ohrid is 1136 km. The road distance is 1403.9 km.
The best way to get from Milan to Ohrid without a car is to train and bus and ferry and bus via Bari which takes 17h 49m and costs .
It takes approximately 9h 18m to get from Milan to Ohrid, including transfers.
Milan to Ohrid bus services, operated by Arkleand bus, depart from Milano, Autostazione Lampugnano station.
Milan to Ohrid bus services, operated by Arkleand bus, arrive at Tirana station.
Yes, the driving distance between Milan to Ohrid is 1404 km. It takes approximately 18h 21m to drive from Milan to Ohrid.
There are 1457+ hotels available in Ohrid.
What companies run services between Milan, Italy and Ohrid, North Macedonia?
You can take a bus from Milano, Autostazione Lampugnano to Ohrid via Tirana and Elbasan in around 28h 2m.
- 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
- $40–260
Flights from Il Caravaggio International Airport to Tirana International Airport Nënë Tereza via Bari
- Ave. Duration
- 4h
- When
- Friday and Tuesday
- Estimated price
- $40–260
Flights from Milano Malpensa Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $70–260
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- $55–270
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza via Lamezia Terme
- Ave. Duration
- 3h 30m
- When
- Wednesday and Saturday
- Estimated price
- $60–280
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $24–220
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza via Lamezia Terme
- Ave. Duration
- 4h 35m
- When
- Wednesday
- Estimated price
- $24–220
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 50m
- When
- Tuesday, Wednesday, Friday, and Sunday
- Estimated price
- $35–250
- 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
- $15–250
Flights from Milano Malpensa Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $7–180
Flights from Verona Villafranca Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- $10–260
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- $14–190
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- $21–260
- Website
- ita-airways.com
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- $60–210
Flights from Milan Linate Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 38m
- When
- Every day
- Estimated price
- $60–210
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza via Rome
- Ave. Duration
- 3h 50m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- $90–300
Flights from Genoa Cristoforo Colombo Airport to Tirana International Airport Nënë Tereza via Rome
- Ave. Duration
- 3h 50m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- $95–310
- Website
- lufthansa.com
Flights from Milan Linate Airport to Brindisi Airport via Rome
- Ave. Duration
- 3h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- $60–210
Flights from Turin Caselle Airport to Tirana International Airport Nënë Tereza via Munich
- Ave. Duration
- 4h 45m
- When
- Monday, Tuesday, Wednesday, Friday, Saturday, and Sunday
- Estimated price
- $120–420
- Website
- easyjet.com
Flights from Milan Linate Airport to Brindisi Airport
- Ave. Duration
- 1h 40m
- When
- Monday and Thursday
- Estimated price
- $40–130
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- $23–40
- Website
- Trenitalia Frecce
Train from Reggio Emilia Av to Bari Centrale
- Ave. Duration
- 6h 7m
- Frequency
- Hourly
- Estimated price
- $100–190
- Website
- Trenitalia Frecce
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- $23–40
- Website
- Trenitalia Frecce
Train from Reggio Emilia Av to Brindisi
- Ave. Duration
- 7h 4m
- Frequency
- Every 3 hours
- Estimated price
- $120–220
- Website
- Trenitalia Frecce
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 7h 39m
- Frequency
- Hourly
- Estimated price
- $130–230
- Website
- Trenitalia Frecce
Train from Milano Centrale to Verona Porta Nuova
- Ave. Duration
- 1h 13m
- Frequency
- Hourly
- Estimated price
- $22–40
- Website
- Trenitalia Frecce
Train from Milano Centrale to Genova P.Za Principe
- Ave. Duration
- 1h 30m
- Frequency
- 3 times a day
- Estimated price
- $21–40
- Website
- Trenitalia Frecce
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 1h 5m
- Frequency
- Once daily
- Estimated price
- $20–35
- Website
- Italo Treno
Train from Milano Centrale to Reggio Emilia Av
- Ave. Duration
- 1h 5m
- Frequency
- Once daily
- Estimated price
- $20–35
- Website
- Italo Treno
Train from Milano Centrale to Torino Porta di Susa
- Ave. Duration
- 48 min
- Frequency
- Every 2 hours
- Estimated price
- $18–30
- Website
- Italo Treno
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Milano Centrale to Bari Centrale
- Ave. Duration
- 9h 50m
- Frequency
- Every 4 hours
- Estimated price
- $100–190
- Website
- Trenitalia Intercity
Train from Milano Centrale to Genova P.Za Principe
- Ave. Duration
- 1h 34m
- Frequency
- Hourly
- Estimated price
- $16–30
- Website
- Trenitalia Intercity
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- $4–6
- Website
- Trenord
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Milano Centrale to Genova P.Za Principe
- Ave. Duration
- 1h 53m
- Frequency
- Hourly
- Estimated price
- $18–26
- Website
- Trenitalia
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- $5–26
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- $12–16
- Schedules at
- orioshuttle.com
- Phone
- +389 46 787 312
- info@eurobus.mk
- Website
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Vlorë to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $14–21
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Vlorë to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $14–21
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
Bus from Elbasan to Ohrid
- Ave. Duration
- 54 min
- Frequency
- Once daily
- Estimated price
- $4–7
- Schedules at
- eurobus.mk
- Phone
- +355697278670
- mb.travel@hotmail.com
- Website
- facebook.com
Busferry from Bari Porto to Durrës
- Ave. Duration
- 4h 56m
- Frequency
- Twice a week
- Schedules at
- autobus.al
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Busferry from Bari Porto to Durrës
- Ave. Duration
- 6h
- Frequency
- Once a week
- Schedules at
- 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
Busferry from Brindisi - Piazza Capitanerie di Porto to Vlorë
- Ave. Duration
- 4h 28m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- +355 69 213 1213
- Travelbusel@gmail.com
- Website
- facebook.com
Bus from Durrës to Elbasan
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Schedules at
- facebook.com
- Phone
- +389 70 212 106
- info@senadtours.com
- Website
- senadtours.com
Bus from Vlorë to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $24
- Schedules at
- senadtours.com
Bus from Durrës to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $18
- Schedules at
- senadtours.com
Bus from Vlorë to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $24
- Schedules at
- senadtours.com
Bus from Durrës to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Estimated price
- $18
- Schedules at
- senadtours.com
- Phone
- +355 68 391 1009
- info@nelatours.com
- Website
- nelatours.com
Bus from Durrës to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Schedules at
- nelatravel.site
Bus from Durrës to Ohrid
- Ave. Duration
- 3h
- Frequency
- Once daily
- Schedules at
- nelatravel.site
- Phone
- +355 692323966
- arkleand.bus@yahoo.com
Bus from Milano, Autostazione Lampugnano to Tirana
- Ave. Duration
- 25h 5m
- Frequency
- Twice a week
- Estimated price
- $79
- Schedules at
- facebook.com
- Phone
- +383 38 616 161
- travel@gjirafa.com
- Website
- gjirafa.com
Bus from Tirana to Elbasan
- Ave. Duration
- 49 min
- Frequency
- Every 30 minutes
- Estimated price
- $5–280
- Schedules at
- Linja të autobusëve Gjirafa
- Phone
- +355696383030
- Website
- firenzelines.com
Busferry from Milano Centrale to Durrës
- Ave. Duration
- 24h 4m
- Frequency
- Once a week
- Estimated price
- $112
- Schedules at
- firenzelines.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
- $70–128
- Schedules at
- adriaferries.com
- Deck
- $73
- Inside cabin 2 beds
- $105
- Outside cabin 2 beds
- $128
- Car
- $112
- Phone
- +30 210 4828001
- booking@ventourisferries.com
- Website
- Ventouris Ferries
Car ferry from Port of Bari to Durrës
- Ave. Duration
- 10h
- Frequency
- Once daily
- Estimated price
- $65–80
- Website
- Ventouris Ferries
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
















































