- Must visit
Dortmunder U
A Former Brewery Tower Turned Center For Contemporary Art And Culture, Known For Exhibitions, Events, And Its Rooftop City Views.
Flights from Milan to Dortmund depart on average 47 times per day, taking around 3h 48m. Cheap flight tickets for this journey start at $21 (€17) if you book in advance.
There are 6 flights per day. The earliest flight runs at 00:40, the last at 23:50. The fastest flight covers the 425 miles (685 km) distance in 1h 25m. October is the cheapest month to fly.
Distance 425 miles (685 km) |
Average flight duration 3h 48m |
Cheapest ticket price $21 (€17) |
Flights per day 47 |
Direct flights 6 |
Fastest flight 1h 25m |
First flight 12:40 AM |
Last flight 11:50 PM |
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 |
Cheapest price
$76
Average price
$590
Fastest journey
1 h 25 m
Average duration
1 h 28 m
Flights per day
80
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 traveling at rush hour.
The average ticket from Milan to Dortmund will cost around $590 if you buy it on the day, but the cheapest tickets can be found for only $76.
Of the 80 flights that leave Milan for Dortmund onMon, Jun 22, 7 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Jun 22 the 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 .
On Mon, Jun 22 the longest 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.
U23941
U25403+
ICE 1020
EW825
U25403+
ICE 916
U25403+
ICE 1012
FR 5531
EW825
EW9847
EW9823
EW9841Omio recommends booking the bus as it is the most popular option from Milan to Dortmund among Omio's users. If you are prioritising price take the bus with prices starting from $41. 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 bus costs an average of $41, and a flight costs an average of $21.
Distance: 425 miles (685 km)
| Flight | Most popular Bus | Train | Driving |
|---|---|---|---|
$112 Average price | $75 Average price Cheapest | $109 Average price | $243 Average price (fuel + tolls) |
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* | 9h 56m Average total duration (door-to-door) |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Milan to Dortmund:
A bus is $34 (€27) less than a train for this route with tickets for a train from Milan to Dortmund costing on average $109 (€89).
A bus is $37 (€30) less than a flight for this route with tickets for a flight from Milan to Dortmund costing on average $112 (€91).
Other travel options to Dortmund take longer:
Bus takes on average 7h 54m.
Train takes on average 9h 26m.
The table below shows live departures for Milan to Dortmund flights for today, Sunday, June 21. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
LH5367+ LH1853 | 1:40 PM Milan Linate Airport | 3h35 | 5:15 PM Dusseldorf Airport | 1 transfer | |
BA585 · BA924 | 1:45 PM Milan Malpensa Airport | 7h15 | 9:00 PM Dusseldorf Airport | 1 transfer | |
BA573 · BA924 | 2:15 PM Milan Linate Airport | 6h45 | 9:00 PM Dusseldorf Airport | 1 transfer | |
VY6343 · VY1898 | 2:40 PM Milan Malpensa Airport | 5h10 | 7:50 PM Dusseldorf Airport | 1 transfer | |
LH5637+ LH4216 | 2:40 PM Milan Malpensa Airport | 3h15 | 5:55 PM Dusseldorf Airport | 1 transfer | |
AZ7446+ ICE 514 | 2:40 PM Milan Malpensa Airport | 6h41 | 9:21 PM Dortmund Hbf | 1 transfer | |
AZ7446+ ICE 912 | 2:40 PM Milan Malpensa Airport | 7h08 | 9:48 PM Dortmund Hbf | 1 transfer | |
AZ7446+ ICE 620 | 2:40 PM Milan Malpensa Airport | 6h48 | 9:28 PM Dortmund Hbf | 1 transfer | |
LX1629 · LX1024 | 2:55 PM Milan Malpensa Airport | 3h25 | 6:20 PM Dusseldorf Airport | 1 transfer | |
LH275+ ICE 514 | 3:20 PM Milan Linate Airport | 6h01 | 9:21 PM Dortmund Hbf | 1 transfer | |
LH275+ ICE 620 | 3:20 PM Milan Linate Airport | 6h08 | 9:28 PM Dortmund Hbf | 1 transfer | |
LH275+ ICE 912 | 3:20 PM Milan Linate Airport | 6h28 | 9:48 PM Dortmund Hbf | 1 transfer | |
AF1231+ AF1106 | 3:45 PM Milan Malpensa Airport | 6h05 | 9:50 PM Dusseldorf Airport | 1 transfer | |
AF1231+ AF1506 | 3:45 PM Milan Malpensa Airport | 22h05 | 1:50 PM Dusseldorf Airport | 1 transfer | |
AF1231+ AF1306 | 3:45 PM Milan Malpensa Airport | 16h55 | 8:40 AM Dusseldorf Airport | 1 transfer | |
AF1231+ AF1606 | 3:45 PM Milan Malpensa Airport | 19h05 | 10:50 AM Dusseldorf Airport | 1 transfer | |
BA575 · BA924 | 3:55 PM Milan Linate Airport | 5h05 | 9:00 PM Dusseldorf Airport | 1 transfer | |
QR128 · QR85 | 4:15 PM Milan Malpensa Airport | 21h30 | 1:45 PM Dusseldorf Airport | 1 transfer | |
FR 484 | 4:30 PM Milan Bergamo Orio al Serio Airport | 1h35 | 6:05 PM Dusseldorf Weeze Airport | 0 transfersDirect | |
LH1857 · LH2030 | 5:20 PM Milan Malpensa Airport | 3h20 | 8:40 PM Dusseldorf Airport | 1 transfer | |
EW827 | 5:45 PM Milan Malpensa Airport | 1h25 | 7:10 PM Cologne Bonn Airport | 0 transfersDirect | |
VY6335 · VY1896 | 6:20 PM Milan Malpensa Airport | 14h45 | 9:05 AM Dusseldorf Airport | 1 transfer | |
AF1731+ AF1406 | 6:35 PM Milan Malpensa Airport | 21h25 | 4:00 PM Dusseldorf Airport | 1 transfer | |
AF1731+ AF1606 | 6:35 PM Milan Malpensa Airport | 16h15 | 10:50 AM Dusseldorf Airport | 1 transfer | |
AF1731+ AF1306 | 6:35 PM Milan Malpensa Airport | 14h05 | 8:40 AM Dusseldorf Airport | 1 transfer | |
AF1731+ AF1506 | 6:35 PM Milan Malpensa Airport | 19h15 | 1:50 PM Dusseldorf Airport | 1 transfer | |
U23943 | 6:45 PM Milan Malpensa Airport | 1h40 | 8:25 PM Dusseldorf Airport | 0 transfersDirect | |
LH255 · LH78 | 6:50 PM Milan Malpensa Airport | 3h15 | 10:05 PM Dusseldorf Airport | 1 transfer | |
LO320 · LO407 | 7:40 PM Milan Malpensa Airport | 23h15 | 6:55 PM Dusseldorf Airport | 1 transfer | |
LO320 · LO405 | 7:40 PM Milan Malpensa Airport | 26h20 | 10:00 PM Dusseldorf Airport | 1 transfer | |
EW9847 | 8:40 PM Milan Linate Airport | 1h30 | 10:10 PM Dusseldorf Airport | 0 transfersDirect | |
VY6337 · VY1896 | 10:15 PM Milan Malpensa Airport | 10h50 | 9:05 AM Dusseldorf Airport | 1 transfer | |
QR118 · QR87 | 11:00 PM Milan Malpensa Airport | 32h50 | 7:50 AM Dusseldorf Airport | 1 transfer | |
QR118 · QR85 | 11:00 PM Milan Malpensa Airport | 14h45 | 1:45 PM Dusseldorf Airport | 1 transfer | |
| Monday, June 22 | |||||
AF1131+ AF1506 | 6:45 AM Milan Malpensa Airport | 7h05 | 1:50 PM Dusseldorf Airport | 1 transfer | |
AF1131+ AF1006 | 6:45 AM Milan Malpensa Airport | 11h55 | 6:40 PM Dusseldorf Airport | 1 transfer | |
AF1131+ AF1406 | 6:45 AM Milan Malpensa Airport | 9h15 | 4:00 PM Dusseldorf Airport | 1 transfer | |
AF1131+ AF1106 | 6:45 AM Milan Malpensa Airport | 15h05 | 9:50 PM Dusseldorf Airport | 1 transfer | |
AF1131+ AF1606 | 6:45 AM Milan Malpensa Airport | 4h05 | 10:50 AM Dusseldorf Airport | 1 transfer | |
FR 5531 | 6:50 AM Milan Bergamo Orio al Serio Airport | 1h25 | 8:15 AM Cologne Bonn Airport | 0 transfersDirect | |
U23941 | 6:50 AM Milan Malpensa Airport | 1h35 | 8:25 AM Dusseldorf Airport | 0 transfersDirect | |
DE4356+ ICE 1020 | 6:55 AM Milan Malpensa Airport | 6h24 | 1:19 PM Dortmund Hbf | 1 transfer | |
DE4356+ ICE 1012 | 6:55 AM Milan Malpensa Airport | 4h52 | 11:47 AM Dortmund Hbf | 1 transfer | |
DE4356+ ICE 916 | 6:55 AM Milan Malpensa Airport | 10h52 | 5:47 PM Dortmund Hbf | 1 transfer | |
ICE 1012+ U25403 | 7:00 AM Milan Linate Airport | 4h47 | 11:47 AM Dortmund Hbf | 1 transfer | |
ICE 916+ U25403 | 7:00 AM Milan Linate Airport | 10h47 | 5:47 PM Dortmund Hbf | 1 transfer | |
ICE 1020+ U25403 | 7:00 AM Milan Linate Airport | 6h19 | 1:19 PM Dortmund Hbf | 1 transfer | |
BA581 · BA904+ ICE 528 | 7:25 AM Milan Linate Airport | 15h02 | 10:27 PM Dortmund Hbf | 2 transfers | |
BA581 · BA904+ ICE 916 | 7:25 AM Milan Linate Airport | 10h22 | 5:47 PM Dortmund Hbf | 2 transfers | |
BA581 · BA920 | 7:25 AM Milan Linate Airport | 6h00 | 1:25 PM Dusseldorf Airport | 1 transfer | |
BA581 · BA922 | 7:25 AM Milan Linate Airport | 10h05 | 5:30 PM Dusseldorf Airport | 1 transfer | |
BA581 · BA904+ ICE 106 | 7:25 AM Milan Linate Airport | 10h56 | 6:21 PM Dortmund Hbf | 2 transfers | |
BA591 · BA924 | 7:40 AM Milan Malpensa Airport | 13h20 | 9:00 PM Dusseldorf Airport | 1 transfer | |
BA591 · BA922 | 7:40 AM Milan Malpensa Airport | 9h50 | 5:30 PM Dusseldorf Airport | 1 transfer | |
BA591 · BA920 | 7:40 AM Milan Malpensa Airport | 5h45 | 1:25 PM Dusseldorf Airport | 1 transfer | |
BA591 · BA904+ ICE 916 | 7:40 AM Milan Malpensa Airport | 10h07 | 5:47 PM Dortmund Hbf | 2 transfers | |
BA591 · BA904+ ICE 106 | 7:40 AM Milan Malpensa Airport | 10h41 | 6:21 PM Dortmund Hbf | 2 transfers | |
BA591 · BA904+ ICE 528 | 7:40 AM Milan Malpensa Airport | 14h47 | 10:27 PM Dortmund Hbf | 2 transfers | |
EW825 | 8:30 AM Milan Malpensa Airport | 1h25 | 9:55 AM Cologne Bonn Airport | 0 transfersDirect | |
EW9841 | 8:55 AM Milan Linate Airport | 1h30 | 10:25 AM Dusseldorf Airport | 0 transfersDirect | |
AF1831+ ICE 528+ AF1318 | 9:15 AM Milan Malpensa Airport | 13h12 | 10:27 PM Dortmund Hbf | 2 transfers | |
AF1831+ ICE 912+ AF1318 | 9:15 AM Milan Malpensa Airport | 12h33 | 9:48 PM Dortmund Hbf | 2 transfers | |
AF1831+ ICE 620+ AF1318 | 9:15 AM Milan Malpensa Airport | 12h13 | 9:28 PM Dortmund Hbf | 2 transfers | |
AF1831+ AF1106 | 9:15 AM Milan Malpensa Airport | 12h35 | 9:50 PM Dusseldorf Airport | 1 transfer | |
AF1831+ AF1006 | 9:15 AM Milan Malpensa Airport | 9h25 | 6:40 PM Dusseldorf Airport | 1 transfer | |
AF1831+ AF1506 | 9:15 AM Milan Malpensa Airport | 4h35 | 1:50 PM Dusseldorf Airport | 1 transfer | |
AF1831+ AF1406 | 9:15 AM Milan Malpensa Airport | 6h45 | 4:00 PM Dusseldorf Airport | 1 transfer | |
QR124 · QR87 | 9:40 AM Milan Malpensa Airport | 22h10 | 7:50 AM Dusseldorf Airport | 1 transfer | |
LO318 · LO405 | 10:30 AM Milan Malpensa Airport | 11h30 | 10:00 PM Dusseldorf Airport | 1 transfer | |
LO318 · LO403 | 10:30 AM Milan Malpensa Airport | 23h05 | 9:35 AM Dusseldorf Airport | 1 transfer | |
LO318 · LO407 | 10:30 AM Milan Malpensa Airport | 8h25 | 6:55 PM Dusseldorf Airport | 1 transfer | |
BA922+ BA7302 | 10:40 AM Milan Linate Airport | 6h50 | 5:30 PM Dusseldorf Airport | 1 transfer | |
BA924+ BA7302 | 10:40 AM Milan Linate Airport | 10h20 | 9:00 PM Dusseldorf Airport | 1 transfer | |
BA569 · BA924 | 11:10 AM Milan Linate Airport | 9h50 | 9:00 PM Dusseldorf Airport | 1 transfer | |
BA569 · BA922 | 11:10 AM Milan Linate Airport | 6h20 | 5:30 PM Dusseldorf Airport | 1 transfer | |
AF1331 · AF1306 | 11:25 AM Milan Malpensa Airport | 21h15 | 8:40 AM Dusseldorf Airport | 1 transfer | |
AF1106 · AF1331 | 11:25 AM Milan Malpensa Airport | 10h25 | 9:50 PM Dusseldorf Airport | 1 transfer | |
AF1006 · AF1331 | 11:25 AM Milan Malpensa Airport | 7h15 | 6:40 PM Dusseldorf Airport | 1 transfer | |
AF1331 · AF1406 | 11:25 AM Milan Malpensa Airport | 4h35 | 4:00 PM Dusseldorf Airport | 1 transfer | |
ICE 912+ AF1318 · AF1331 | 11:25 AM Milan Malpensa Airport | 10h23 | 9:48 PM Dortmund Hbf | 2 transfers | |
ICE 528+ AF1318 · AF1331 | 11:25 AM Milan Malpensa Airport | 11h02 | 10:27 PM Dortmund Hbf | 2 transfers | |
ICE 620+ AF1318 · AF1331 | 11:25 AM Milan Malpensa Airport | 10h03 | 9:28 PM Dortmund Hbf | 2 transfers | |
DE4358+ ICE 106 | 12:00 PM Milan Malpensa Airport | 6h21 | 6:21 PM Dortmund Hbf | 1 transfer | |
DE4358+ ICE 916 | 12:00 PM Milan Malpensa Airport | 5h47 | 5:47 PM Dortmund Hbf | 1 transfer | |
DE4358+ ICE 528 | 12:00 PM Milan Malpensa Airport | 10h27 | 10:27 PM Dortmund Hbf | 1 transfer | |
VF27+ VF62 | 12:45 PM Milan Bergamo Orio al Serio Airport | 27h00 | 3:45 PM Dusseldorf Airport | 1 transfer | |
VF62 · VF25 | 12:45 PM Milan Bergamo Orio al Serio Airport | 23h25 | 12:10 PM Dusseldorf Airport | 1 transfer | |
VF91+ VF62 | 12:45 PM Milan Bergamo Orio al Serio Airport | 11h40 | 12:25 AM Cologne Bonn Airport | 1 transfer | |
VF89 · VF62 | 12:45 PM Milan Bergamo Orio al Serio Airport | 22h20 | 11:05 AM Cologne Bonn Airport | 1 transfer | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare train, bus, 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.
Discover the best of Dortmund — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Dortmund trip today.
A Former Brewery Tower Turned Center For Contemporary Art And Culture, Known For Exhibitions, Events, And Its Rooftop City Views.
An Interactive National Museum Dedicated To German Football History, Trophies, Media Installations, And Family-Friendly Exhibits Near The Main Station.
The City’S Major Modern And Contemporary Art Museum, Featuring Expressionism, Fluxus, And Rotating Exhibitions Inside Dortmunder U.
A Large Urban Park Famous For Gardens, Seasonal Events, Open Space, And Social-Media-Friendly Views Around Florian Tower.
A Popular Lakeside Redevelopment Area With Walking Paths, Modern Architecture, And Sunset Views, Especially Trendy With Locals And Visitors.
The Historic Old Market Square In Central Dortmund, A Classic Meeting Point Surrounded By Important City-Center Buildings.
A traditional Westphalian beef stew seasoned generously with pepper, slowly cooked until tender. It is one of Dortmund’s best-known regional specialties.
Air-dried and lightly smoked Westphalian ham, prized across the region for its deep flavor. It is often served with dark bread and pickles.
A Dortmund bakery classic: a small savory roll topped with salt and caraway, traditionally eaten with Mett, butter, or cheese.
An established seafood-focused restaurant with a polished setting and strong reputation for quality ingredients and refined preparation.
A well-known central steakhouse with a classic atmosphere, strong service, and substantial meat-focused dishes. Good for a more upscale meal.
A long-established brewery restaurant near the market square, known for hearty regional food and Dortmund beer in a lively traditional setting.
Moderate by German standards: public transport and casual food are reasonable, while hotels and fine dining cost more during trade fairs and football weekends.
Service is usually included. In restaurants, round up or leave about 5-10% for good service. Round up in taxis. Small tips are appreciated in bars; no tip is expected for counter service.
Official public transport app
Dortmund Airport -> Dortmund Hauptbahnhof
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.

Here are some other resources that might have the information you need