Journey information
Overview: Milan to Dortmund flight
Flights from Milan to Dortmund depart on average 45 times per day, taking around 3h 48m. Cheap flight tickets for this journey start at £17 if you book in advance.
There are 5 flights per day. The earliest flight runs at 00:40, the last at 23:50. The fastest flight covers the 685 km distance in 1h 25m. October is the cheapest month to fly.
Distance 685 km |
Average flight duration 3h 48m |
Cheapest ticket price £17 |
Flights per day 45 |
Direct flights 5 |
Fastest flight 1h 25m |
First flight 0:40 |
Last flight 23:50 |
Cheapest Month Oct |
Cheapest Day Wed |
High Season Jan - Mar |
Low Season Apr - Jun |
Busiest Day Mon |
Least Busy Day Sat |
Best time to book 56 days |
The cheapest and fastest flights from Milan to Dortmund
Cheapest price
£38
Average price
£467
Fastest journey
1 h 25 m
Average duration
1 h 28 m
Flights per day
121
Distance
685 km
The best way to find a cheap flight ticket from Milan to Dortmund is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Dortmund will cost around £467 if you buy it on the day, but you can find cheap flight tickets today for only £38.
Of the 121 flights that leave Milan for Dortmund every day 9 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.
FR 48421:201h35Milan Bergamo Orio al Serio Airport22:55Dusseldorf Weeze Airport£381One-way0 changes
EW8258:301h25Milan Malpensa Airport9:55Cologne Bonn Airport£671One-way0 changes
U239416:501h35Milan Malpensa Airport8:25Dusseldorf Airport£811One-way0 changes
U2394318:501h35Milan Malpensa Airport20:25Dusseldorf Airport£921One-way0 changes
FR 55316:501h25Milan Bergamo Orio al Serio Airport8:15Cologne Bonn Airport£1021One-way0 changes
EW8258:301h25Milan Malpensa Airport9:55Cologne Bonn Airport£671One-way0 changes
FR 55316:501h25Milan Bergamo Orio al Serio Airport8:15Cologne Bonn Airport£1021One-way0 changes
EW982316:351h30Milan Malpensa Airport18:05Dusseldorf Airport£1191One-way0 changes
EW984720:401h30Milan Linate Airport22:10Dusseldorf Airport£1961One-way0 changes
AZ780820:401h30Milan Linate Airport22:10Dusseldorf Airport£2581One-way0 changes
Travel Information
Compare train, coach and flight for Milan to Dortmund
Omio recommends booking the coach as it is the most popular option from Milan to Dortmund among Omio's users. If you are prioritising price take the coach with prices starting from £29. For those with little time consider booking a flight which can get you there in 3h 48m. The ticket price range depends on the travel mode: a coach costs an average of £29, and a train costs an average of £43.
Distance: 685 km
Compare flight with
| Flight | Most popular Coach | Train |
|---|---|---|
£70 Average Price | £56 Average Price Cheapest | £101 Average Price |
6h 48m Average total duration Fastest 3h 48m Onboard + 3h 0m Additional time* | 8h 24m Average total duration 7h 54m Onboard + 30m Additional time* | 9h 56m Average total duration 9h 26m Onboard + 30m Additional time* |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Live departures
Milan to Dortmund flight times
The table below shows live departures for Milan to Dortmund flights for today, Sunday 19 April. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
AF1131+ AF1006 | 6:45 Milan Malpensa Airport | 11h55 | 18:40 Dusseldorf Airport | 1 change | |
AF1131+ AF1506 | 6:45 Milan Malpensa Airport | 7h05 | 13:50 Dusseldorf Airport | 1 change | |
AF1131+ AF1306 | 6:45 Milan Malpensa Airport | 25h55 | 8:40 Dusseldorf Airport | 1 change | |
AF1131+ AF1106 | 6:45 Milan Malpensa Airport | 15h05 | 21:50 Dusseldorf Airport | 1 change | |
AF1131+ AF1606 | 6:45 Milan Malpensa Airport | 4h05 | 10:50 Dusseldorf Airport | 1 change | |
LH281+ LH72 | 6:50 Milan Linate Airport | 3h10 | 10:00 Dusseldorf Airport | 1 change | |
LH281+ ICE 200 | 6:50 Milan Linate Airport | 7h31 | 14:21 Dortmund Hbf | 1 change | |
LH281+ ICE 202 | 6:50 Milan Linate Airport | 5h31 | 12:21 Dortmund Hbf | 1 change | |
LH281+ ICE 916 | 6:50 Milan Linate Airport | 10h57 | 17:47 Dortmund Hbf | 1 change | |
U25403+ ICE 202 | 7:00 Milan Linate Airport | 5h21 | 12:21 Dortmund Hbf | 1 change | |
U25403+ ICE 200 | 7:00 Milan Linate Airport | 7h21 | 14:21 Dortmund Hbf | 1 change | |
U25403+ ICE 916 | 7:00 Milan Linate Airport | 10h47 | 17:47 Dortmund Hbf | 1 change | |
BA591 · BA924 | 7:05 Milan Malpensa Airport | 13h55 | 21:00 Dusseldorf Airport | 1 change | |
BA591 · BA920 | 7:05 Milan Malpensa Airport | 6h10 | 13:15 Dusseldorf Airport | 1 change | |
BA581 · BA924 | 7:25 Milan Linate Airport | 13h35 | 21:00 Dusseldorf Airport | 1 change | |
BA581 · BA920 | 7:25 Milan Linate Airport | 5h50 | 13:15 Dusseldorf Airport | 1 change | |
AZ2021 · AZ7294+ ICE 912 | 8:00 Milan Linate Airport | 13h48 | 21:48 Dortmund Hbf | 2 changes | |
AZ2021 · AZ7294+ ICE 620 | 8:00 Milan Linate Airport | 13h28 | 21:28 Dortmund Hbf | 2 changes | |
AZ2021 · AZ7294+ ICE 514 | 8:00 Milan Linate Airport | 13h21 | 21:21 Dortmund Hbf | 2 changes | |
LH9513+ LH99+ ICE 106 | 8:35 Milan Malpensa Airport | 9h46 | 18:21 Dortmund Hbf | 2 changes | |
LH9513+ LH2014 | 8:35 Milan Malpensa Airport | 4h05 | 12:40 Dusseldorf Airport | 1 change | |
LH9513+ LH99+ ICE 916 | 8:35 Milan Malpensa Airport | 9h12 | 17:47 Dortmund Hbf | 2 changes | |
LH9513+ LH99+ ICE 514 | 8:35 Milan Malpensa Airport | 12h46 | 21:21 Dortmund Hbf | 2 changes | |
LH247+ ICE 106 | 9:00 Milan Malpensa Airport | 9h21 | 18:21 Dortmund Hbf | 1 change | |
LH247+ ICE 916 | 9:00 Milan Malpensa Airport | 8h47 | 17:47 Dortmund Hbf | 1 change | |
LH247+ ICE 200 | 9:00 Milan Malpensa Airport | 5h21 | 14:21 Dortmund Hbf | 1 change | |
ICE 106+ AF1831 · AF1218 | 9:15 Milan Malpensa Airport | 9h06 | 18:21 Dortmund Hbf | 2 changes | |
AF1306 · AF1831 | 9:15 Milan Malpensa Airport | 23h25 | 8:40 Dusseldorf Airport | 1 change | |
AF1831 · AF1006 | 9:15 Milan Malpensa Airport | 9h25 | 18:40 Dusseldorf Airport | 1 change | |
AF1831 · AF1106 | 9:15 Milan Malpensa Airport | 12h35 | 21:50 Dusseldorf Airport | 1 change | |
AF1506 · AF1831 | 9:15 Milan Malpensa Airport | 4h35 | 13:50 Dusseldorf Airport | 1 change | |
ICE 514+ AF1831 · AF1218 | 9:15 Milan Malpensa Airport | 12h06 | 21:21 Dortmund Hbf | 2 changes | |
ICE 916+ AF1831 · AF1218 | 9:15 Milan Malpensa Airport | 8h32 | 17:47 Dortmund Hbf | 2 changes | |
AF1831 · AF1606 | 9:15 Milan Malpensa Airport | 25h35 | 10:50 Dusseldorf Airport | 1 change | |
FR 5531 | 9:35 Milan Bergamo Orio al Serio Airport | 1h25 | 11:00 Cologne Bonn Airport | 0 changesdirect | |
LH1851+ LH103+ ICE 916 | 9:50 Milan Linate Airport | 7h57 | 17:47 Dortmund Hbf | 2 changes | |
LH1851+ LH103+ ICE 514 | 9:50 Milan Linate Airport | 11h31 | 21:21 Dortmund Hbf | 2 changes | |
LH1851+ LH103+ ICE 106 | 9:50 Milan Linate Airport | 8h31 | 18:21 Dortmund Hbf | 2 changes | |
LH6905+ ICE 916 | 10:30 Milan Linate Airport | 7h17 | 17:47 Dortmund Hbf | 1 change | |
LH6905+ ICE 106 | 10:30 Milan Linate Airport | 7h51 | 18:21 Dortmund Hbf | 1 change | |
LH6905+ ICE 610 | 10:30 Milan Linate Airport | 4h51 | 15:21 Dortmund Hbf | 1 change | |
LO318 · LO405 | 10:30 Milan Malpensa Airport | 11h30 | 22:00 Dusseldorf Airport | 1 change | |
LO318 · LO403 | 10:30 Milan Malpensa Airport | 23h05 | 9:35 Dusseldorf Airport | 1 change | |
LX1613 · LX1018 | 10:40 Milan Malpensa Airport | 3h25 | 14:05 Dusseldorf Airport | 1 change | |
BA569 · BA924 | 10:50 Milan Linate Airport | 10h10 | 21:00 Dusseldorf Airport | 1 change | |
BA571 · BA924 | 11:00 Milan Linate Airport | 10h00 | 21:00 Dusseldorf Airport | 1 change | |
AZ2039 · AZ7294+ ICE 620 | 11:00 Milan Linate Airport | 10h28 | 21:28 Dortmund Hbf | 2 changes | |
AZ2039 · AZ7294+ ICE 514 | 11:00 Milan Linate Airport | 10h21 | 21:21 Dortmund Hbf | 2 changes | |
AZ2039 · AZ7294+ ICE 912 | 11:00 Milan Linate Airport | 10h48 | 21:48 Dortmund Hbf | 2 changes | |
LH249+ ICE 514 | 11:20 Milan Malpensa Airport | 10h01 | 21:21 Dortmund Hbf | 1 change | |
LH249+ ICE 106 | 11:20 Milan Malpensa Airport | 7h01 | 18:21 Dortmund Hbf | 1 change | |
LH249+ ICE 916 | 11:20 Milan Malpensa Airport | 6h27 | 17:47 Dortmund Hbf | 1 change | |
AZ2045 · AZ7294+ ICE 912 | 11:30 Milan Linate Airport | 10h18 | 21:48 Dortmund Hbf | 2 changes | |
AZ2045 · AZ7294+ ICE 620 | 11:30 Milan Linate Airport | 9h58 | 21:28 Dortmund Hbf | 2 changes | |
AZ2045 · AZ7294+ ICE 514 | 11:30 Milan Linate Airport | 9h51 | 21:21 Dortmund Hbf | 2 changes | |
LH273+ ICE 106 | 12:40 Milan Linate Airport | 5h41 | 18:21 Dortmund Hbf | 1 change | |
LH273+ ICE 514 | 12:40 Milan Linate Airport | 8h41 | 21:21 Dortmund Hbf | 1 change | |
LH273+ ICE 916 | 12:40 Milan Linate Airport | 5h07 | 17:47 Dortmund Hbf | 1 change | |
LH273 · LH74 | 12:40 Milan Linate Airport | 3h30 | 16:10 Dusseldorf Airport | 1 change | |
VF62+ VF27 | 12:45 Milan Bergamo Orio al Serio Airport | 27h00 | 15:45 Dusseldorf Airport | 1 change | |
VF62 · VF25 | 12:45 Milan Bergamo Orio al Serio Airport | 23h25 | 12:10 Dusseldorf Airport | 1 change | |
VF62+ VF89 | 12:45 Milan Bergamo Orio al Serio Airport | 22h20 | 11:05 Cologne Bonn Airport | 1 change | |
VF62 · VF91 | 12:45 Milan Bergamo Orio al Serio Airport | 11h20 | 0:05 Cologne Bonn Airport | 1 change | |
AZ2133 · AZ7294+ ICE 620 | 13:00 Milan Linate Airport | 8h28 | 21:28 Dortmund Hbf | 2 changes | |
AZ2133 · AZ7294+ ICE 912 | 13:00 Milan Linate Airport | 8h48 | 21:48 Dortmund Hbf | 2 changes | |
AZ2133 · AZ7294+ ICE 514 | 13:00 Milan Linate Airport | 8h21 | 21:21 Dortmund Hbf | 2 changes | |
LH1853+ LH2020 | 13:40 Milan Linate Airport | 4h00 | 17:40 Dusseldorf Airport | 1 change | |
BA585 · BA924 | 13:45 Milan Malpensa Airport | 7h15 | 21:00 Dusseldorf Airport | 1 change | |
VY6343 · VY1898 | 14:05 Milan Malpensa Airport | 5h45 | 19:50 Dusseldorf Airport | 1 change | |
BA573 · BA924 | 14:15 Milan Linate Airport | 6h45 | 21:00 Dusseldorf Airport | 1 change | |
LH5637+ LH76 | 14:40 Milan Malpensa Airport | 3h15 | 17:55 Dusseldorf Airport | 1 change | |
LH5637+ ICE 620 | 14:40 Milan Malpensa Airport | 6h48 | 21:28 Dortmund Hbf | 1 change | |
LH5637+ ICE 514 | 14:40 Milan Malpensa Airport | 6h41 | 21:21 Dortmund Hbf | 1 change | |
LH5637+ ICE 912 | 14:40 Milan Malpensa Airport | 7h08 | 21:48 Dortmund Hbf | 1 change | |
LX1629+ LX1024 | 14:55 Milan Malpensa Airport | 3h25 | 18:20 Dusseldorf Airport | 1 change | |
LH275+ ICE 912 | 15:20 Milan Linate Airport | 6h28 | 21:48 Dortmund Hbf | 1 change | |
LH275+ ICE 514 | 15:20 Milan Linate Airport | 6h01 | 21:21 Dortmund Hbf | 1 change | |
LH275+ ICE 620 | 15:20 Milan Linate Airport | 6h08 | 21:28 Dortmund Hbf | 1 change | |
BA575 · BA924 | 15:55 Milan Linate Airport | 5h05 | 21:00 Dusseldorf Airport | 1 change | |
FR 484 | 16:30 Milan Bergamo Orio al Serio Airport | 1h35 | 18:05 Dusseldorf Weeze Airport | 0 changesdirect | |
EW827 | 17:45 Milan Malpensa Airport | 1h25 | 19:10 Cologne Bonn Airport | 0 changesdirect | |
VY6335 · VY1896 | 18:20 Milan Malpensa Airport | 14h45 | 9:05 Dusseldorf Airport | 1 change | |
AF1731+ AF1406 | 18:35 Milan Malpensa Airport | 21h25 | 16:00 Dusseldorf Airport | 1 change | |
AF1731+ AF1606 | 18:35 Milan Malpensa Airport | 16h15 | 10:50 Dusseldorf Airport | 1 change | |
AF1731+ AF1506 | 18:35 Milan Malpensa Airport | 19h15 | 13:50 Dusseldorf Airport | 1 change | |
AF1731+ AF1306 | 18:35 Milan Malpensa Airport | 14h05 | 8:40 Dusseldorf Airport | 1 change | |
AF1731+ AF1006 | 18:35 Milan Malpensa Airport | 24h05 | 18:40 Dusseldorf Airport | 1 change | |
LH255 · LH78 | 18:50 Milan Malpensa Airport | 3h15 | 22:05 Dusseldorf Airport | 1 change | |
LO320 · LO403 | 19:40 Milan Malpensa Airport | 13h55 | 9:35 Dusseldorf Airport | 1 change | |
LO320 · LO407 | 19:40 Milan Malpensa Airport | 23h15 | 18:55 Dusseldorf Airport | 1 change | |
LO320 · LO405 | 19:40 Milan Malpensa Airport | 26h20 | 22:00 Dusseldorf Airport | 1 change | |
AZ7808 | 20:40 Milan Linate Airport | 1h30 | 22:10 Dusseldorf Airport | 0 changesdirect | |
EW9847 | 20:40 Milan Linate Airport | 1h30 | 22:10 Dusseldorf Airport | 0 changesdirect | |
VY6337 · VY1894 | 23:40 Milan Malpensa Airport | 14h45 | 14:25 Dusseldorf Airport | 1 change | |
VY6337 · VY1896 | 23:40 Milan Malpensa Airport | 9h25 | 9:05 Dusseldorf Airport | 1 change | |
Find all the dates and times for this journey
Compare prices and tickets Milan to Dortmund by train, coach or flight
Compare train, coach and flight 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.
20 Apr
21 Apr
22 Apr
23 Apr
24 Apr
25 Apr
26 Apr
27 Apr
28 Apr
29 Apr
30 Apr
01 May
02 May
03 May
Why should you book Milan to Dortmund flights with Omio?
Why book with Omio vs easyJet?
- Compare with other providers: On Omio, you can not only buy tickets for easyJet, but also compare tickets for the likes of Malta Air, Eurowings, ITA or Air Dolomiti to find the best option for your trip from Milan to Dortmund.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare easyJet with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Milan to Dortmund.
Why book with Omio over Edreams, Kayak or Skyscanner?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Malta Air, Eurowings, ITA or Air Dolomiti to find the best option for your trip from Milan to Dortmund.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Milan to Dortmund.
Airlines: easyJet, Malta Air, Eurowings, ITA, Air Dolomiti from Milan to DortmundFind the best flights between Milan to Dortmund with Omio's travel partners easyJet, Malta Air, Eurowings, ITA, Air Dolomiti from £17. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Eurowings
Air Dolomiti
easyJet
Malta Air
FAQs: Milan to Dortmund flights
Find answers to the most common questions about traveling from Milan to Dortmund 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 Dortmund, this guide helps you travel smarter and with confidence.

popular airports
Important Stations and Airports in Milan and Dortmund
- Free Wi-Fi available throughout the airport.
- Shops available in both terminals, including duty-free and fashion brands like Gucci and Prada.
- Parking available at Terminal 1 and Terminal 2, approximately 2.5€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounges available in Terminal 1, including Sala Montale and Club SEA.
- Located in both terminals, near baggage claim.
- Train: Malpensa Express
- Bus: Terravision, Autostradale, Malpensa Shuttle
- 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
- 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
More options for your journey from Milan to Dortmund
Here are some other resources that might have the information you need














