Journey information
Overview: Dortmund to Milan flight
Flights from Dortmund to Milan depart on average 2 times per day, taking around 1h 42m. Cheap flight tickets for this journey start at $31 if you book in advance.
There are 2 flights per day. The earliest flight runs at 05:45, the last at 23:15. The fastest flight covers the 685 km distance in 1h 25m.
Distance 685 km |
Average flight duration 1h 42m |
Cheapest ticket price $31 |
Flights per day 2 |
Direct flights 2 |
Fastest flight 1h 25m |
First flight 05:45 |
Last flight 23:15 |
The cheapest and fastest flights from Dortmund to Milan
Cheapest price
$91
Average price
$345
Fastest journey
1 h 25 m
Average duration
1 h 28 m
Flights per day
88
Distance
685 km
The best way to find a cheap flight ticket from Dortmund to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Dortmund to Milan will cost around $345 if you buy it on the day, but you can find cheap flight tickets today for only $91.
Of the 88 flights that leave Dortmund for Milan every day 6 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 685 km distance in an average of 1 h 28 m but if you time it right, some flights will get you there in just 1 h 25 m .
The slowest flights will take 1 h 30 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
U23950
IC 2225 · S 8+
U21970
IC 2225 · S 8+
LH5638
IC 2225 · S 8+
EN8816
ICE 1621+
U21970
U23950
EW9800
EW9820
EW9822
AZ415Travel Information
Compare train and coach for Dortmund to Milan
Omio recommends booking the coach as it is the most popular option from Dortmund to Milan among Omio's users. If you are prioritising price take the train with prices starting from $55. For those with little time consider booking a flight which can get you there in 1h 42m. The ticket price range depends on the travel mode: a train costs an average of $55, and a flight costs an average of $31.
Distance: 685 km
Compare flight with
| Flight | Most popular Coach | Train |
|---|---|---|
$155 Average Price | $69 Average Price | $55 Average Price Cheapest |
4h 42m Average total duration Fastest 1h 42m Onboard + 3h 0m Additional time* | 14h 58m Average total duration 14h 28m Onboard + 30m Additional time* | 10h 27m Average total duration 9h 57m Onboard + 30m Additional time* |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Live departures
Dortmund to Milan flight times
The table below shows live departures for Dortmund to Milan flights for today, Tuesday, 11 November. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
RE 26714 · ICE 629+ U21970 | 11:21 am Dortmund Hbf | 8h59 | 8:20 pm Milan Linate Airport | 2 changes | |
RE 26714 · ICE 629+ LH5638 | 11:21 am Dortmund Hbf | 9h39 | 9:00 pm Milan Malpensa Airport | 2 changes | |
RE 26714 · ICE 629+ EN8816 | 11:21 am Dortmund Hbf | 9h39 | 9:00 pm Milan Malpensa Airport | 2 changes | |
ICE 229+ LH5638 | 11:35 am Dortmund Hbf | 9h25 | 9:00 pm Milan Malpensa Airport | 1 change | |
ICE 229+ U21970 | 11:35 am Dortmund Hbf | 8h45 | 8:20 pm Milan Linate Airport | 1 change | |
ICE 229+ EN8816 | 11:35 am Dortmund Hbf | 9h25 | 9:00 pm Milan Malpensa Airport | 1 change | |
RE 26818 · ICE 315+ EN8816 | 11:45 am Dortmund Hbf | 9h15 | 9:00 pm Milan Malpensa Airport | 2 changes | |
RE 26818 · ICE 315+ LH5638 | 11:45 am Dortmund Hbf | 9h15 | 9:00 pm Milan Malpensa Airport | 2 changes | |
RE 26818 · ICE 315+ U21970 | 11:45 am Dortmund Hbf | 8h35 | 8:20 pm Milan Linate Airport | 2 changes | |
VF26 · VF61 | 12:25 pm Dusseldorf Airport | 22h50 | 11:15 am Milan Bergamo Orio al Serio Airport | 1 change | |
EW9822 | 12:40 pm Dusseldorf Airport | 1h30 | 2:10 pm Milan Malpensa Airport | 0 changesdirect | |
AF1230+ AF1507 | 1:30 pm Dusseldorf Airport | 8h30 | 10:00 pm Milan Malpensa Airport | 1 change | |
AF1630+ AF1507 | 1:30 pm Dusseldorf Airport | 4h20 | 5:50 pm Milan Malpensa Airport | 1 change | |
LH81+ LH9490 | 1:40 pm Dusseldorf Airport | 3h30 | 5:10 pm Milan Linate Airport | 1 change | |
LH81+ LH6902 | 1:40 pm Dusseldorf Airport | 3h20 | 5:00 pm Milan Malpensa Airport | 1 change | |
LX1019+ LX1622 | 1:45 pm Dusseldorf Airport | 3h30 | 5:15 pm Milan Malpensa Airport | 1 change | |
QR86 · QR123 | 1:45 pm Dusseldorf Airport | 16h10 | 5:55 am Milan Malpensa Airport | 1 change | |
QR86 · QR127 | 1:45 pm Dusseldorf Airport | 22h25 | 12:10 pm Milan Malpensa Airport | 1 change | |
QR86 · QR117 | 1:45 pm Dusseldorf Airport | 29h25 | 7:10 pm Milan Malpensa Airport | 1 change | |
RE 26720 · ICE 725+ AZ7279 · AZ2014 | 2:21 pm Dortmund Hbf | 16h19 | 6:40 am Milan Linate Airport | 3 changes | |
RE 26720 · ICE 725+ LH278 | 2:21 pm Dortmund Hbf | 7h24 | 9:45 pm Milan Linate Airport | 2 changes | |
RE 26720 · ICE 725+ AZ7287 | 2:21 pm Dortmund Hbf | 7h24 | 9:45 pm Milan Linate Airport | 2 changes | |
ICE 201+ AZ7287 | 2:36 pm Dortmund Hbf | 7h09 | 9:45 pm Milan Linate Airport | 1 change | |
ICE 201+ LH278 | 2:36 pm Dortmund Hbf | 7h09 | 9:45 pm Milan Linate Airport | 1 change | |
ICE 1013+ AZ7287 | 2:50 pm Dortmund Hbf | 6h55 | 9:45 pm Milan Linate Airport | 1 change | |
ICE 1013+ LH278 | 2:50 pm Dortmund Hbf | 6h55 | 9:45 pm Milan Linate Airport | 1 change | |
LH2021 · LH1854 | 3:00 pm Dusseldorf Airport | 2h50 | 5:50 pm Milan Linate Airport | 1 change | |
VF28 · VF61 | 3:50 pm Dusseldorf Airport | 19h25 | 11:15 am Milan Bergamo Orio al Serio Airport | 1 change | |
LH2023+ LH5190 | 4:25 pm Dusseldorf Airport | 3h10 | 7:35 pm Milan Linate Airport | 1 change | |
EW9824 | 5:15 pm Dusseldorf Airport | 1h30 | 6:45 pm Milan Malpensa Airport | 0 changesdirect | |
AF1830+ AF1407 | 5:25 pm Dusseldorf Airport | 16h10 | 9:35 am Milan Malpensa Airport | 1 change | |
AF1230+ AF1407 | 5:25 pm Dusseldorf Airport | 4h35 | 10:00 pm Milan Malpensa Airport | 1 change | |
AF1130+ AF1407 | 5:25 pm Dusseldorf Airport | 17h15 | 10:40 am Milan Malpensa Airport | 1 change | |
AZ417 | 6:45 pm Dusseldorf Airport | 1h30 | 8:15 pm Milan Linate Airport | 0 changesdirect | |
LX1027+ LX1638 | 7:10 pm Dusseldorf Airport | 2h40 | 9:50 pm Milan Malpensa Airport | 1 change | |
AF1130+ AF1007 | 7:45 pm Dusseldorf Airport | 14h55 | 10:40 am Milan Malpensa Airport | 1 change | |
AF1830+ AF1007 | 7:45 pm Dusseldorf Airport | 13h50 | 9:35 am Milan Malpensa Airport | 1 change | |
U23950 | 7:50 pm Dusseldorf Airport | 1h25 | 9:15 pm Milan Malpensa Airport | 0 changesdirect | |
VY1899 · VY6330 | 8:00 pm Dusseldorf Airport | 12h25 | 8:25 am Milan Malpensa Airport | 1 change | |
VF92 · VF61 | 11:50 pm Cologne Bonn Airport | 11h25 | 11:15 am Milan Bergamo Orio al Serio Airport | 1 change | |
LH2037+ LH9512 | 5:15 am Dusseldorf Airport | 2h55 | 8:10 am Milan Malpensa Airport | 1 change | |
ICE 527+ LH6902 | 5:23 am Dortmund Hbf | 11h32 | 4:55 pm Milan Malpensa Airport | 1 change | |
ICE 527+ DE4357 | 5:23 am Dortmund Hbf | 8h47 | 2:10 pm Milan Malpensa Airport | 1 change | |
ICE 527+ EN8812 | 5:23 am Dortmund Hbf | 11h32 | 4:55 pm Milan Malpensa Airport | 1 change | |
LH73 · LH248 | 5:30 am Dusseldorf Airport | 4h20 | 9:50 am Milan Malpensa Airport | 1 change | |
LH73+ LH6904 | 5:30 am Dusseldorf Airport | 3h35 | 9:05 am Milan Linate Airport | 1 change | |
ICE 1621+ U21970 | 5:36 am Dortmund Hbf | 14h44 | 8:20 pm Milan Linate Airport | 1 change | |
ICE 1621+ EN8812 | 5:36 am Dortmund Hbf | 11h19 | 4:55 pm Milan Malpensa Airport | 1 change | |
ICE 1621+ LH6902 | 5:36 am Dortmund Hbf | 11h19 | 4:55 pm Milan Malpensa Airport | 1 change | |
AF1230+ AF1107 | 5:40 am Dusseldorf Airport | 16h20 | 10:00 pm Milan Malpensa Airport | 1 change | |
AF1830+ AF1107 | 5:40 am Dusseldorf Airport | 3h55 | 9:35 am Milan Malpensa Airport | 1 change | |
AF1130+ AF1107 | 5:40 am Dusseldorf Airport | 5h00 | 10:40 am Milan Malpensa Airport | 1 change | |
AF1330+ AF1107 | 5:40 am Dusseldorf Airport | 8h15 | 1:55 pm Milan Malpensa Airport | 1 change | |
AF1630+ AF1107 | 5:40 am Dusseldorf Airport | 12h10 | 5:50 pm Milan Malpensa Airport | 1 change | |
AF1730+ AF1107 | 5:40 am Dusseldorf Airport | 10h45 | 4:25 pm Milan Malpensa Airport | 1 change | |
LX4459+ LX1612 | 5:45 am Dusseldorf Airport | 2h55 | 8:40 am Milan Malpensa Airport | 1 change | |
EW9820 | 5:50 am Dusseldorf Airport | 1h30 | 7:20 am Milan Malpensa Airport | 0 changesdirect | |
IC 2225 · S 8+ LH5638 | 6:02 am Dortmund Hbf | 14h53 | 8:55 pm Milan Malpensa Airport | 2 changes | |
IC 2225 · S 8+ U21970 | 6:02 am Dortmund Hbf | 14h18 | 8:20 pm Milan Linate Airport | 2 changes | |
IC 2225 · S 8+ EN8816 | 6:02 am Dortmund Hbf | 14h53 | 8:55 pm Milan Malpensa Airport | 2 changes | |
ICE 529+ EN8812 | 6:23 am Dortmund Hbf | 10h32 | 4:55 pm Milan Malpensa Airport | 1 change | |
ICE 529+ DE4357 | 6:23 am Dortmund Hbf | 7h47 | 2:10 pm Milan Malpensa Airport | 1 change | |
ICE 529+ LH6902 | 6:23 am Dortmund Hbf | 10h32 | 4:55 pm Milan Malpensa Airport | 1 change | |
VY1897 · VY6332 | 8:10 am Dusseldorf Airport | 6h50 | 3:00 pm Milan Malpensa Airport | 1 change | |
VY1897 · VY6336 | 8:10 am Dusseldorf Airport | 12h00 | 8:10 pm Milan Malpensa Airport | 1 change | |
VY1897 · VY6334 | 8:10 am Dusseldorf Airport | 7h55 | 4:05 pm Milan Malpensa Airport | 1 change | |
VY1897 · VY6338 | 8:10 am Dusseldorf Airport | 5h00 | 1:10 pm Milan Malpensa Airport | 1 change | |
ICE 946 · ICE 623+ EN8816 | 8:13 am Dortmund Hbf | 12h42 | 8:55 pm Milan Malpensa Airport | 2 changes | |
ICE 946 · ICE 623+ LH5638 | 8:13 am Dortmund Hbf | 12h42 | 8:55 pm Milan Malpensa Airport | 2 changes | |
ICE 946 · ICE 623+ U21970 | 8:13 am Dortmund Hbf | 12h07 | 8:20 pm Milan Linate Airport | 2 changes | |
LH2005+ LH9448 | 8:25 am Dusseldorf Airport | 3h10 | 11:35 am Milan Malpensa Airport | 1 change | |
AF1330+ AF1307 | 8:35 am Dusseldorf Airport | 5h20 | 1:55 pm Milan Malpensa Airport | 1 change | |
AF1630+ AF1307 | 8:35 am Dusseldorf Airport | 9h15 | 5:50 pm Milan Malpensa Airport | 1 change | |
AF1730+ AF1307 | 8:35 am Dusseldorf Airport | 7h50 | 4:25 pm Milan Malpensa Airport | 1 change | |
AF1230+ AF1307 | 8:35 am Dusseldorf Airport | 13h25 | 10:00 pm Milan Malpensa Airport | 1 change | |
ICE 105+ U21970 | 8:36 am Dortmund Hbf | 11h44 | 8:20 pm Milan Linate Airport | 1 change | |
ICE 105+ LH5638 | 8:36 am Dortmund Hbf | 12h19 | 8:55 pm Milan Malpensa Airport | 1 change | |
ICE 105+ EN8816 | 8:36 am Dortmund Hbf | 12h19 | 8:55 pm Milan Malpensa Airport | 1 change | |
IC 2013 · ICE 225+ U21970 | 8:50 am Dortmund Hbf | 11h30 | 8:20 pm Milan Linate Airport | 2 changes | |
IC 2013 · ICE 225+ EN8816 | 8:50 am Dortmund Hbf | 12h05 | 8:55 pm Milan Malpensa Airport | 2 changes | |
IC 2013 · ICE 225+ LH5638 | 8:50 am Dortmund Hbf | 12h05 | 8:55 pm Milan Malpensa Airport | 2 changes | |
RE 26710 · ICE 625+ U21970 | 9:21 am Dortmund Hbf | 10h59 | 8:20 pm Milan Linate Airport | 2 changes | |
RE 26710 · ICE 625+ EN8816 | 9:21 am Dortmund Hbf | 11h34 | 8:55 pm Milan Malpensa Airport | 2 changes | |
RE 26710 · ICE 625+ LH5638 | 9:21 am Dortmund Hbf | 11h34 | 8:55 pm Milan Malpensa Airport | 2 changes | |
LH77+ LH5636 | 9:30 am Dusseldorf Airport | 3h25 | 12:55 pm Milan Malpensa Airport | 1 change | |
LH77 · LH280 | 9:30 am Dusseldorf Airport | 3h45 | 1:15 pm Milan Linate Airport | 1 change | |
AZ415 | 10:30 am Dusseldorf Airport | 1h30 | 12:00 pm Milan Linate Airport | 0 changesdirect | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Dortmund to Milan by train or coach
Compare train and coach prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
12 Nov
13 Nov
14 Nov
15 Nov
16 Nov
17 Nov
18 Nov
19 Nov
20 Nov
21 Nov
22 Nov
23 Nov
24 Nov
25 Nov
26 Nov
27 Nov
28 Nov
29 Nov
30 Nov
01 Dec
02 Dec
Airlines: ITA, Wizz Air, Eurowings from Dortmund to MilanFind the best flights between Dortmund to Milan with Omio's travel partners ITA, Wizz Air, Eurowings from $31. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Eurowings
Wizz Air
FAQs: Dortmund to Milan flights
Find answers to the most common questions about traveling from Dortmund to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Typically, passengers are allowed one carry-on bag and one personal item (for example a purse, laptop bag, or backpack). Personal items must fit under the seat in front of you.
Budget Airlines (like Ryanair or Wizz Air) have stricter size and weight limits, often requiring fees for larger carry-ons. Full-Service Airlines have more lenient policies, sometimes including more spacious dimensions or higher weight limits depending on your ticket class.
popular airports
Important Stations and Airports in Dortmund and Milan
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
More options for your journey from Dortmund to Milan
Here are some other resources that might have the information you need










