There are 10 ways to get from Milan to Viborg by plane, train, bus, night train, car, or car train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Milan Linate Airport to Aalborg Airport, train
best- Fly from Milan Linate Airport (LIN) to Aalborg Airport (AAL)LIN - AAL
- Take the train from Aalborg Lufthavn St. to Langå St.
9h 25mkr 834–3,016Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Hamburg, Zentraler OmnibusbahnhofN24
- Take the bus from Hamburg, Zentraler Omnibusbahnhof to Vejle Busterminal353 / ...
- Take the bus from Vejle Busterminal to Viborg Busterminal632
25h 20mkr 621–1,343Train, night train
- Take the train from Milano Centrale to Basel SbbEc
- Take the night train from Basel Sbb to OdenseEn
- Take the train from Odense St. to Aarhus HIcl / ...
- Take the train from Aarhus H to Viborg St.030
23h 4mDrive 1,463.6 km
- Drive from Milan to Viborg1,463.6 km
13h 24mkr 1,952–2,819Fly Milan Linate Airport to Billund Airport, train
- Fly from Milan Linate Airport (LIN) to Billund Airport (BLL)LIN - BLL
- Take the train from Vejle St. to Aarhus H
- Take the train from Aarhus H to Viborg St.
9h 39mTrain to Milano Malpensa Airport, fly to Billund Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Fly from Milano Malpensa Airport (MXP) to Billund Airport (BLL)MXP - BLL
- Take the train from Vejle St. to Aarhus H
- Take the train from Aarhus H to Viborg St.
10h 13mFly Milan Linate Airport to Copenhagen Airport, train
- Fly from Milan Linate Airport (LIN) to Copenhagen Airport (CPH)LIN - CPH
- Take the train from København, Københavns Lufthavn to Aarhus H
- Take the train from Aarhus H to Viborg St.
10h 22mTrain to Milano Malpensa Airport, fly to Copenhagen Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Fly from Milano Malpensa Airport (MXP) to Copenhagen Airport (CPH)MXP - CPH
- Take the train from København, Københavns Lufthavn to Aarhus H
- Take the train from Aarhus H to Viborg St.
11h 1mBus, train
- Take the bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39
- Take the bus from Słubice to Copenhagen
- Take the train from København H to Aarhus HIcl / ...
- Take the train from Aarhus H to Viborg St.030
35h 38mDrive, car train
- Drive from Milan to München Ost
- Take the car train from München Ost to Hamburg Hbf
- Drive from Hamburg Hbf to Viborg
14h 24mkr 1,735–7,444
Milan to Viborg by bus
Questions & Answers
The cheapest way to get from Milan to Viborg is to bus which costs 600 kr - 1400 kr and takes 25h 20m.
The fastest way to get from Milan to Viborg is to fly and train which takes 9h 25m and costs 800 kr - 3100 kr.
No, there is no direct bus from Milan to Viborg. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Viborg Busterminal via Hamburg, Zentraler Omnibusbahnhof and Vejle Busterminal. The journey, including transfers, takes approximately 25h 20m.
No, there is no direct train from Milan to Viborg. However, there are services departing from Milano Centrale and arriving at Viborg St. via Basel Sbb, Odense St. and Aarhus H. The journey, including transfers, takes approximately 23h 4m.
The distance between Milan and Viborg is 1439 km. The road distance is 1463.6 km.
The best way to get from Milan to Viborg without a car is to bus which takes 25h 20m and costs 600 kr - 1400 kr.
It takes approximately 9h 25m to get from Milan to Viborg, including transfers.
Milan to Viborg bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Viborg train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
Milan to Viborg bus services, operated by FlixBus, arrive at Hamburg, Zentraler Omnibusbahnhof station.
What companies run services between Milan, Italy and Viborg, Denmark?
You can take a bus from Milano, Autostazione Lampugnano to Viborg Busterminal via Hamburg, Zentraler Omnibusbahnhof and Vejle Busterminal in around 25h 20m.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Website
- lufthansa.com
Flights from Milan Linate Airport to Billund Airport via Frankfurt
- Ave. Duration
- 4h 28m
- When
- Every day
- Estimated price
- kr 750–2,600
Flights from Milano Malpensa Airport to Billund Airport via Frankfurt
- Ave. Duration
- 5h 8m
- When
- Every day
- Estimated price
- kr 650–2,700
Flights from Milano Malpensa Airport to Billund Airport via Munich
- Ave. Duration
- 6h 20m
- When
- Every day
- Estimated price
- kr 700–2,700
Flights from Milan Linate Airport to Copenhagen Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- kr 650–2,000
Flights from Milan Linate Airport to Copenhagen Airport via Frankfurt
- Ave. Duration
- 4h 20m
- When
- Every day
- Estimated price
- kr 650–2,000
Flights from Milano Malpensa Airport to Copenhagen Airport via Frankfurt
- Ave. Duration
- 4h 2m
- When
- Every day
- Estimated price
- kr 470–1,800
- Website
- klm.com
Flights from Milan Linate Airport to Aalborg Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 30m
- When
- Every day
- Estimated price
- kr 700–3,600
Flights from Milan Linate Airport to Aalborg Airport via Copenhagen Airport
- Ave. Duration
- 4h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- kr 650–2,700
Flights from Milan Linate Airport to Billund Airport via Amsterdam Schiphol
- Ave. Duration
- 5h 11m
- When
- Every day
- Estimated price
- kr 650–3,400
- Website
- flysas.com
Flights from Milan Linate Airport to Aalborg Airport via Copenhagen Airport
- Ave. Duration
- 4h 42m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- kr 650–3,100
Flights from Milano Malpensa Airport to Billund Airport via Copenhagen Airport
- Ave. Duration
- 4h 47m
- When
- Every day
- Estimated price
- kr 600–2,400
Flights from Milan Linate Airport to Copenhagen Airport
- Ave. Duration
- 2h
- When
- Sunday
- Estimated price
- kr 500–3,400
Flights from Milano Malpensa Airport to Copenhagen Airport
- Ave. Duration
- 2h 10m
- When
- Every day
- Estimated price
- kr 410–3,900
- Website
- airfrance.com
Flights from Milan Linate Airport to Aalborg Airport via Amsterdam Schiphol
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- kr 700–2,600
Flights from Milan Linate Airport to Billund Airport via Paris Charles de Gaulle
- Ave. Duration
- 6h 27m
- When
- Every day
- Estimated price
- kr 700–3,600
Flights from Milano Malpensa Airport to Billund Airport via Paris Charles de Gaulle
- Ave. Duration
- 6h 7m
- When
- Every day
- Estimated price
- kr 500–2,700
- Website
- swiss.com
Flights from Milano Malpensa Airport to Copenhagen Airport via Zurich
- Ave. Duration
- 4h 17m
- When
- Every day
- Estimated price
- kr 430–1,700
- Website
- britishairways.com
Flights from Milan Linate Airport to Billund Airport via London Heathrow
- Ave. Duration
- 5h 35m
- When
- Monday, Wednesday, Thursday, and Sunday
- Estimated price
- kr 850–4,300
- Website
- easyjet.com
Flights from Milan Linate Airport to Copenhagen Airport
- Ave. Duration
- 2h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- kr 300–1,500
- Phone
- +47 70 13 14 15
- kundehenv@dsb.dk
- Website
- dsb.dk
Train from Aalborg Lufthavn St. to Langå St.
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- kr 120–200
- Website
- https://www.dsb.dk/en/
Train from Odense St. to Aarhus H
- Ave. Duration
- 1h 36m
- Frequency
- Hourly
- Estimated price
- kr 220–350
- Website
- https://www.dsb.dk/en/
Train from Vejle St. to Aarhus H
- Ave. Duration
- 54 min
- Frequency
- Every 30 minutes
- Estimated price
- kr 100–170
- Website
- https://www.dsb.dk/en/
Train from København, Københavns Lufthavn to Aarhus H
- Ave. Duration
- 3h 16m
- Frequency
- Hourly
- Estimated price
- kr 440–700
- Website
- https://www.dsb.dk/en/
Train from København H to Aarhus H
- Ave. Duration
- 2h 50m
- Frequency
- Hourly
- Estimated price
- kr 420–700
- Website
- https://www.dsb.dk/en/
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Basel Sbb
- Ave. Duration
- 4h 22m
- Frequency
- 5 times a day
- Estimated price
- kr 550–950
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- kr 650–950
- 2nd Class
- kr 550–800
- Website
- bahntouristikexpress.de
Night train from Basel Sbb to Odense
- Ave. Duration
- 13h 45m
- Frequency
- 3 times a week
- Schedules at
- bahntouristikexpress.de
- Phone
- +45 72 30 25 00
- kommunikation.afd@gocollective.dk
- Website
- gocollective.dk
Train from Aarhus H to Viborg St.
- Ave. Duration
- 1h 10m
- Frequency
- Hourly
- Schedules at
- gocollective.dk
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- kr 30–40
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- kr 112
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from München Ost to Hamburg Hbf
- Ave. Duration
- 4h 37m
- Frequency
- Once daily
- Estimated price
- kr 750–6,000
- Website
- https://urlaubs-express.de/?lang=en
- Car Single Bed
- kr 2,900–3,300
- Car Compartment
- kr 5,000–6,000
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Hamburg, Zentraler Omnibusbahnhof
- Ave. Duration
- 17h 45m
- Frequency
- Once daily
- Estimated price
- kr 420–950
- Website
- https://www.flixbus.co.uk
Bus from Hamburg, Zentraler Omnibusbahnhof to Vejle Busterminal
- Ave. Duration
- 4h 10m
- Frequency
- Twice daily
- Estimated price
- kr 140–320
- Website
- https://www.flixbus.co.uk
Bus from Vejle Busterminal to Viborg Busterminal
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- kr 55–90
- Website
- https://www.flixbus.co.uk
- Phone
- +48 801 22 33 44
- bilety@sindbad.pl
- Website
- sindbad.pl
Bus from Milano, Autostazione Lampugnano to SŁUBICE, Port Świecko, Świecko 39
- Ave. Duration
- 17h 20m
- Frequency
- Twice a week
- Estimated price
- kr 600–800
- Website
- https://www.sindbad.pl/en/home
Bus from Słubice to Copenhagen
- Ave. Duration
- 12h
- Frequency
- Once a week
- Estimated price
- kr 550–850
- Website
- https://www.sindbad.pl/en/home
Want to know more about travelling around Denmark
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
How to plan an amazing trip around Scandinavia
Read the travel guide
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Milan to Viborg train services, operated by Trenitalia EuroCity, arrive at Basel Sbb station.
Yes, the driving distance between Milan to Viborg is 1464 km. It takes approximately 13h 24m to drive from Milan to Viborg.
Book your Milan to Viborg bus tickets online with Omio and FlixBus.
There are 187+ hotels available in Viborg.



























