Journey information
Overview: Milan to Aachen flight
Flights from Milan to Aachen depart on average 78 times per day, taking around 1h 36m. Cheap flight tickets for this journey start at £23 if you book in advance.
There are 9 flights per day. The earliest flight runs at 00:45, the last at 23:55. The fastest flight covers the 634 km distance in 1h 25m. September is the cheapest month to fly.
Distance 634 km |
Average flight duration 1h 36m |
Cheapest ticket price £23 |
Flights per day 78 |
Direct flights 9 |
Fastest flight 1h 25m |
Cheapest month to travel September |
First flight 00:45 |
Last flight 23:55 |
The cheapest and fastest flights from Milan to Aachen
Cheapest price
£44
Average price
£409
Fastest journey
1 h 30 m
Average duration
2 h 5 m
Flights per day
111
Distance
634 km
The best way to find a cheap flight ticket from Milan to Aachen is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Aachen will cost around £409 if you buy it on the day, but you can find cheap flight tickets today for only £44.
Of the 111 flights that leave Milan for Aachen every day 3 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 634 km distance in an average of 2 h 5 m but if you time it right, some flights will get you there in just 1 h 30 m .
The slowest flights will take 2 h 50 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 5531
U23947
AZ418
U21969+
ICE 102 · RE 26834
U21969+
ICE 512 · RE 26438
FR 5531
AZ418
U23947
LX1639+
LX4424
LH6905+
LH78Travel Information
Compare train, coach and flight for Milan to Aachen
Omio recommends booking the flight as it is the most popular option from Milan to Aachen among Omio's users. If you are prioritising price take the coach with prices starting from £42. For those with little time consider booking a flight which can get you there in 1h 36m. In case you are seeking to minimise your carbon footprint the coach is your best bet as it emits only 0.6 - 1.6kg. The ticket price range depends on the travel mode: a coach costs an average of £42, and a flight costs an average of £23.
Distance: 634 km
Compare flight with
Most popular Flight | Coach | Train |
|---|---|---|
£72 Average Price | £67 Average Price Cheapest | £70 Average Price |
4h 36m Average total duration Fastest 1h 36m Onboard + 3h 0m Additional time* | 15h 48m Average total duration 15h 18m Onboard + 30m Additional time* | 9h 47m Average total duration 9h 17m Onboard + 30m Additional time* |
1.9 - 3.8kg CO2 emissions | 0.6 - 1.6kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Milan to Aachen flight times
The table below shows live departures for Milan to Aachen flights for today, Friday 14 November. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
AZ7310 · AZ4726 | 13:55 Milan Linate Airport | 7h05 | 21:00 Dusseldorf Airport | 1 change | |
LH281 · LH84 | 13:55 Milan Linate Airport | 3h10 | 17:05 Dusseldorf Airport | 1 change | |
VY6339 · VY1898 | 14:05 Milan Malpensa Airport | 5h10 | 19:15 Dusseldorf Airport | 1 change | |
QR128 · QR85 | 14:10 Milan Malpensa Airport | 22h00 | 12:10 Dusseldorf Airport | 1 change | |
EW9823 | 14:55 Milan Malpensa Airport | 1h30 | 16:25 Dusseldorf Airport | 0 changesdirect | |
AF1331+ AF1006 | 14:55 Milan Malpensa Airport | 4h00 | 18:55 Dusseldorf Airport | 1 change | |
AF1331+ AF1306 | 14:55 Milan Malpensa Airport | 16h50 | 07:45 Dusseldorf Airport | 1 change | |
AF1331+ AF1606 | 14:55 Milan Malpensa Airport | 18h35 | 09:30 Dusseldorf Airport | 1 change | |
AF1331+ AF1106 | 14:55 Milan Malpensa Airport | 5h45 | 20:40 Dusseldorf Airport | 1 change | |
VY6333 · VY1896 | 15:45 Milan Malpensa Airport | 15h40 | 07:25 Dusseldorf Airport | 1 change | |
AZ7776 | 15:50 Milan Malpensa Airport | 1h25 | 17:15 Cologne Bonn Airport | 0 changesdirect | |
EW825 | 15:50 Milan Malpensa Airport | 1h25 | 17:15 Cologne Bonn Airport | 0 changesdirect | |
AZ7322 · AZ4706 | 16:25 Milan Malpensa Airport | 5h15 | 21:40 Dusseldorf Airport | 1 change | |
AZ452 · AZ4706 | 16:30 Milan Linate Airport | 5h10 | 21:40 Dusseldorf Airport | 1 change | |
FR 5531 | 16:40 Milan Bergamo Orio al Serio Airport | 1h30 | 18:10 Cologne Bonn Airport | 0 changesdirect | |
AZ7312 · AZ4726 | 16:50 Milan Linate Airport | 4h10 | 21:00 Dusseldorf Airport | 1 change | |
VY6335 · VY1896 | 16:55 Milan Malpensa Airport | 14h30 | 07:25 Dusseldorf Airport | 1 change | |
U23949 | 17:25 Milan Malpensa Airport | 1h40 | 19:05 Dusseldorf Airport | 0 changesdirect | |
AF1731 · AF1606 | 17:25 Milan Malpensa Airport | 16h05 | 09:30 Dusseldorf Airport | 1 change | |
AF1731 · AF1306 | 17:25 Milan Malpensa Airport | 14h20 | 07:45 Dusseldorf Airport | 1 change | |
AF1506 · AF1731 | 17:25 Milan Malpensa Airport | 19h20 | 12:45 Dusseldorf Airport | 1 change | |
LH9491+ LH88 | 17:55 Milan Linate Airport | 3h05 | 21:00 Dusseldorf Airport | 1 change | |
AZ7436 · AZ4726 | 17:55 Milan Linate Airport | 3h05 | 21:00 Dusseldorf Airport | 1 change | |
LX1623+ LX4404 | 18:10 Milan Malpensa Airport | 3h05 | 21:15 Dusseldorf Airport | 1 change | |
LH1855+ LH2040 | 18:40 Milan Linate Airport | 3h00 | 21:40 Dusseldorf Airport | 1 change | |
AZ7358 · AZ4706 | 18:40 Milan Linate Airport | 3h00 | 21:40 Dusseldorf Airport | 1 change | |
LO320 · LO403 | 18:50 Milan Malpensa Airport | 13h45 | 08:35 Dusseldorf Airport | 1 change | |
AF1631+ AF1506 | 18:50 Milan Malpensa Airport | 17h55 | 12:45 Dusseldorf Airport | 1 change | |
AF1631+ AF1306 | 18:50 Milan Malpensa Airport | 12h55 | 07:45 Dusseldorf Airport | 1 change | |
AF1631+ AF1606 | 18:50 Milan Malpensa Airport | 14h40 | 09:30 Dusseldorf Airport | 1 change | |
VY6341 · VY1896 | 19:20 Milan Malpensa Airport | 12h05 | 07:25 Dusseldorf Airport | 1 change | |
EW9825 | 19:30 Milan Malpensa Airport | 1h30 | 21:00 Dusseldorf Airport | 0 changesdirect | |
VY6337 · VY1896 | 20:55 Milan Malpensa Airport | 10h30 | 07:25 Dusseldorf Airport | 1 change | |
QR118 · QR85 | 21:10 Milan Malpensa Airport | 15h00 | 12:10 Dusseldorf Airport | 1 change | |
| Saturday 15 November | |||||
LH279+ ICE 314 | 05:10 Milan Linate Airport | 8h06 | 13:16 Aachen Hbf | 1 change | |
AZ7308 · AZ4726 | 05:10 Milan Linate Airport | 15h55 | 21:05 Dusseldorf Airport | 1 change | |
AZ7308+ ICE 314 | 05:10 Milan Linate Airport | 8h06 | 13:16 Aachen Hbf | 1 change | |
LH279+ ICE 124 · S 19 · RE 10918 | 05:10 Milan Linate Airport | 9h31 | 14:41 Aachen Hbf | 3 changes | |
AZ2013 · AZ404+ ICE 512 · RE 26438 | 05:30 Milan Linate Airport | 18h07 | 23:37 Aachen Hbf | 3 changes | |
AZ2013 · AZ404+ ICE 10 | 05:30 Milan Linate Airport | 13h46 | 19:16 Aachen Hbf | 2 changes | |
AZ2013 · AZ404 · AZ4726 | 05:30 Milan Linate Airport | 15h35 | 21:05 Dusseldorf Airport | 2 changes | |
AZ2013 · AZ404+ ICE 102 · RE 26834 | 05:30 Milan Linate Airport | 16h37 | 22:07 Aachen Hbf | 3 changes | |
LX1639+ LX4458 | 05:45 Milan Malpensa Airport | 3h10 | 08:55 Dusseldorf Airport | 1 change | |
LX1639+ LX4424 | 05:45 Milan Malpensa Airport | 2h50 | 08:35 Cologne Bonn Airport | 1 change | |
EN8817+ ICE 314 | 05:55 Milan Malpensa Airport | 7h21 | 13:16 Aachen Hbf | 1 change | |
LH5639+ ICE 12 | 05:55 Milan Malpensa Airport | 11h21 | 17:16 Aachen Hbf | 1 change | |
AZ7444 · AZ4726 | 05:55 Milan Malpensa Airport | 15h10 | 21:05 Dusseldorf Airport | 1 change | |
LH5639+ ICE 314 | 05:55 Milan Malpensa Airport | 7h21 | 13:16 Aachen Hbf | 1 change | |
AF1231+ AF1306 | 05:55 Milan Malpensa Airport | 25h50 | 07:45 Dusseldorf Airport | 1 change | |
AF1231+ AF1506 | 05:55 Milan Malpensa Airport | 6h50 | 12:45 Dusseldorf Airport | 1 change | |
AF1231+ AF1106 | 05:55 Milan Malpensa Airport | 14h45 | 20:40 Dusseldorf Airport | 1 change | |
U21967+ ICE 124 · S 19 · RE 10918 | 06:00 Milan Linate Airport | 8h41 | 14:41 Aachen Hbf | 3 changes | |
U21967+ ICE 12 | 06:00 Milan Linate Airport | 11h16 | 17:16 Aachen Hbf | 1 change | |
U21967+ ICE 314 | 06:00 Milan Linate Airport | 7h16 | 13:16 Aachen Hbf | 1 change | |
OS530+ OS8841 | 06:20 Milan Linate Airport | 3h50 | 10:10 Dusseldorf Airport | 1 change | |
AZ2021 · AZ404+ ICE 102 · RE 26834 | 06:30 Milan Linate Airport | 15h37 | 22:07 Aachen Hbf | 3 changes | |
AZ2021 · AZ404+ ICE 512 · RE 26438 | 06:30 Milan Linate Airport | 17h07 | 23:37 Aachen Hbf | 3 changes | |
AZ2021 · AZ404+ ICE 10 | 06:30 Milan Linate Airport | 12h46 | 19:16 Aachen Hbf | 2 changes | |
AZ2021 · AZ404 · AZ4726 | 06:30 Milan Linate Airport | 14h35 | 21:05 Dusseldorf Airport | 2 changes | |
DE4356+ ICE 124 · S 19 · RE 10918 | 06:55 Milan Malpensa Airport | 7h46 | 14:41 Aachen Hbf | 3 changes | |
DE4356+ ICE 12 | 06:55 Milan Malpensa Airport | 10h21 | 17:16 Aachen Hbf | 1 change | |
DE4356+ ICE 314 | 06:55 Milan Malpensa Airport | 6h21 | 13:16 Aachen Hbf | 1 change | |
LH7433+ LH2012 | 07:00 Milan Malpensa Airport | 4h10 | 11:10 Dusseldorf Airport | 1 change | |
LH7433+ LH101+ ICE 314 | 07:00 Milan Malpensa Airport | 6h16 | 13:16 Aachen Hbf | 2 changes | |
LH7433+ LH101+ ICE 10 | 07:00 Milan Malpensa Airport | 12h16 | 19:16 Aachen Hbf | 2 changes | |
LH7433+ LH101+ ICE 12 | 07:00 Milan Malpensa Airport | 10h16 | 17:16 Aachen Hbf | 2 changes | |
LH7433+ LH4050 | 07:00 Milan Malpensa Airport | 4h30 | 11:30 Cologne Bonn Airport | 1 change | |
U23947 | 07:25 Milan Malpensa Airport | 1h40 | 09:05 Dusseldorf Airport | 0 changesdirect | |
AZ418 | 07:50 Milan Linate Airport | 1h35 | 09:25 Dusseldorf Airport | 0 changesdirect | |
AZ2029 · AZ404+ ICE 512 · RE 26438 | 08:30 Milan Linate Airport | 15h07 | 23:37 Aachen Hbf | 3 changes | |
AZ2029 · AZ404+ ICE 10 | 08:30 Milan Linate Airport | 10h46 | 19:16 Aachen Hbf | 2 changes | |
AZ2029 · AZ404+ ICE 102 · RE 26834 | 08:30 Milan Linate Airport | 13h37 | 22:07 Aachen Hbf | 3 changes | |
AZ2029 · AZ404 · AZ4726 | 08:30 Milan Linate Airport | 12h35 | 21:05 Dusseldorf Airport | 2 changes | |
LH1851 · LH105+ ICE 102 · RE 26834 | 08:45 Milan Linate Airport | 13h22 | 22:07 Aachen Hbf | 3 changes | |
LH1851 · LH105+ ICE 12 | 08:45 Milan Linate Airport | 8h31 | 17:16 Aachen Hbf | 2 changes | |
LH1851 · LH105+ ICE 10 | 08:45 Milan Linate Airport | 10h31 | 19:16 Aachen Hbf | 2 changes | |
LX1613+ LX1072+ ICE 102 · RE 26834 | 09:30 Milan Malpensa Airport | 12h37 | 22:07 Aachen Hbf | 3 changes | |
LX1613+ LX1018 | 09:30 Milan Malpensa Airport | 3h45 | 13:15 Dusseldorf Airport | 1 change | |
LX1613+ LX1072+ ICE 10 | 09:30 Milan Malpensa Airport | 9h46 | 19:16 Aachen Hbf | 2 changes | |
LX1613+ LX1072+ ICE 12 | 09:30 Milan Malpensa Airport | 7h46 | 17:16 Aachen Hbf | 2 changes | |
AZ2045 · AZ404 · AZ4726 | 09:30 Milan Linate Airport | 11h35 | 21:05 Dusseldorf Airport | 2 changes | |
EN8801+ ICE 12 | 09:45 Milan Linate Airport | 7h31 | 17:16 Aachen Hbf | 1 change | |
LH6905+ ICE 10 | 09:45 Milan Linate Airport | 9h31 | 19:16 Aachen Hbf | 1 change | |
EN8801+ ICE 10 | 09:45 Milan Linate Airport | 9h31 | 19:16 Aachen Hbf | 1 change | |
LH6905+ LH78 | 09:45 Milan Linate Airport | 2h50 | 12:35 Dusseldorf Airport | 1 change | |
AZ7434 · AZ4726 | 09:45 Milan Linate Airport | 11h20 | 21:05 Dusseldorf Airport | 1 change | |
AZ7314 · AZ4726 | 10:30 Milan Malpensa Airport | 10h35 | 21:05 Dusseldorf Airport | 1 change | |
LH247+ ICE 12 | 10:30 Milan Malpensa Airport | 6h46 | 17:16 Aachen Hbf | 1 change | |
AZ7314+ ICE 10 | 10:30 Milan Malpensa Airport | 8h46 | 19:16 Aachen Hbf | 1 change | |
LH247+ ICE 10 | 10:30 Milan Malpensa Airport | 8h46 | 19:16 Aachen Hbf | 1 change | |
AF1831+ AF1306 | 10:35 Milan Malpensa Airport | 21h10 | 07:45 Dusseldorf Airport | 1 change | |
AF1831+ AF1606 | 10:35 Milan Malpensa Airport | 22h55 | 09:30 Dusseldorf Airport | 1 change | |
AF1831+ AF1106 | 10:35 Milan Malpensa Airport | 10h05 | 20:40 Dusseldorf Airport | 1 change | |
ICE 102 · RE 26834+ AF1318 · AF1131 | 11:35 Milan Malpensa Airport | 10h32 | 22:07 Aachen Hbf | 3 changes | |
AF1131 · AF1606 | 11:35 Milan Malpensa Airport | 21h55 | 09:30 Dusseldorf Airport | 1 change | |
AF1131 · AF1306 | 11:35 Milan Malpensa Airport | 20h10 | 07:45 Dusseldorf Airport | 1 change | |
ICE 10+ AF1318 · AF1131 | 11:35 Milan Malpensa Airport | 7h41 | 19:16 Aachen Hbf | 2 changes | |
AF1131 · AF1106 | 11:35 Milan Malpensa Airport | 9h05 | 20:40 Dusseldorf Airport | 1 change | |
AF1131 · AF1506 | 11:35 Milan Malpensa Airport | 25h10 | 12:45 Dusseldorf Airport | 1 change | |
ICE 512 · RE 26438+ AF1131 · AF1318 | 11:35 Milan Malpensa Airport | 12h02 | 23:37 Aachen Hbf | 3 changes | |
AZ2133 · AZ404+ ICE 10 | 12:00 Milan Linate Airport | 7h16 | 19:16 Aachen Hbf | 2 changes | |
AZ2133 · AZ404 · AZ4726 | 12:00 Milan Linate Airport | 9h05 | 21:05 Dusseldorf Airport | 2 changes | |
AZ2133 · AZ404+ ICE 512 · RE 26438 | 12:00 Milan Linate Airport | 11h37 | 23:37 Aachen Hbf | 3 changes | |
AZ2133 · AZ404+ ICE 102 · RE 26834 | 12:00 Milan Linate Airport | 10h07 | 22:07 Aachen Hbf | 3 changes | |
VF62 · VF25 | 12:15 Milan Bergamo Orio al Serio Airport | 23h50 | 12:05 Dusseldorf Airport | 1 change | |
VF62 · VF91 | 12:15 Milan Bergamo Orio al Serio Airport | 10h30 | 22:45 Cologne Bonn Airport | 1 change | |
VF62 · VF27 | 12:15 Milan Bergamo Orio al Serio Airport | 26h35 | 14:50 Dusseldorf Airport | 1 change | |
VF62 · VF89 | 12:15 Milan Bergamo Orio al Serio Airport | 25h45 | 14:00 Cologne Bonn Airport | 1 change | |
LH9449+ LH1984 | 12:20 Milan Malpensa Airport | 3h50 | 16:10 Cologne Bonn Airport | 1 change | |
AZ7438 · AZ4726 | 12:45 Milan Linate Airport | 8h20 | 21:05 Dusseldorf Airport | 1 change | |
LH5669+ ICE 12 | 12:45 Milan Linate Airport | 4h31 | 17:16 Aachen Hbf | 1 change | |
LH5669+ ICE 10 | 12:45 Milan Linate Airport | 6h31 | 19:16 Aachen Hbf | 1 change | |
EN8805+ ICE 10 | 12:45 Milan Linate Airport | 6h31 | 19:16 Aachen Hbf | 1 change | |
LH5637+ LH84 | 13:40 Milan Malpensa Airport | 3h25 | 17:05 Dusseldorf Airport | 1 change | |
AZ7446 · AZ4726 | 13:40 Milan Malpensa Airport | 7h25 | 21:05 Dusseldorf Airport | 1 change | |
LH5637+ ICE 10 | 13:40 Milan Malpensa Airport | 5h36 | 19:16 Aachen Hbf | 1 change | |
AZ7446+ ICE 10 | 13:40 Milan Malpensa Airport | 5h36 | 19:16 Aachen Hbf | 1 change | |
EN8811+ ICE 10 | 13:40 Milan Malpensa Airport | 5h36 | 19:16 Aachen Hbf | 1 change | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Milan to Aachen 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.
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
03 Dec
04 Dec
05 Dec
Airlines: Ryanair, Eurowings , ITA, easyJet, Smartwings, KM Malta Airlines, Brussels Airlines, TUIfly, Air Baltic, Air Dolomiti from Milan to AachenFind the best flights between Milan to Aachen with Omio's travel partners Ryanair, Eurowings , ITA, easyJet, Smartwings, KM Malta Airlines, Brussels Airlines, TUIfly, Air Baltic, Air Dolomiti from £23. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Eurowings
Brussels Airlines
Air Baltic
Air Dolomiti
TUIfly
easyJet
KM Malta Airlines
Smartwings
Ryanair
FAQs: Milan to Aachen flights
Find answers to the most common questions about traveling from Milan to Aachen 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 Aachen, 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 Milan and Aachen
- 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 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
More options for your journey from Milan to Aachen
Here are some other resources that might have the information you need














