The cheapest and fastest trains from Milan Porta Garibaldi to Milan Malpensa Airport
Cheapest price
£9
Average price
£12
Fastest journey
43 m
Average duration
43 m
Trains per day
100
Distance
40 km
The best way to find a cheap train ticket from Milan Porta Garibaldi to Milan Malpensa Airport is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan Porta Garibaldi to Milan Malpensa Airport will cost around £12 if you buy it on the day, but you can find cheap train tickets today for only £9.
Of the 100 trains that leave Milan Porta Garibaldi for Milan Malpensa Airport every day 68 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 40 km distance in an average of 43 m but if you time it right, some trains will get you there in just 43 m .
The slowest trains will take 43 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.
Regionale 10224+
Regionale TRENORD 8034411:400h58Milan Porta Garibaldi12:38Malpensa Airport T1£91One-way1 change
Regionale TRENORD 2510+
Regionale TRENORD 803165:321h00Milan Porta Garibaldi6:32Malpensa Airport T2£91One-way1 change
Regionale TRENORD 10218+
Regionale TRENORD 803328:400h58Milan Porta Garibaldi9:38Malpensa Airport T1£91One-way1 change
Regionale TRENORD 10242+
Regionale TRENORD 8038420:400h52Milan Porta Garibaldi21:32Malpensa Airport T2£91One-way1 change
Regionale 10232+
Regionale TRENORD 8036015:400h52Milan Porta Garibaldi16:32Malpensa Airport T2£91One-way1 change
Regionale TRENORD 297620:350h43Milan Porta Garibaldi21:18Malpensa Airport T1£141One-way0 changes
Regionale TRENORD 29309:050h43Milan Porta Garibaldi9:48Malpensa Airport T1£141One-way0 changes
Regionale TRENORD 297821:050h43Milan Porta Garibaldi21:48Malpensa Airport T1£141One-way0 changes
Regionale TRENORD 296618:050h43Milan Porta Garibaldi18:48Malpensa Airport T1£141One-way0 changes
Regionale TRENORD 295415:050h43Milan Porta Garibaldi15:48Malpensa Airport T1£141One-way0 changes
Travel Information
Compare train and coach for Milan Porta Garibaldi to Milan Malpensa Airport
Omio recommends booking the train as it is the most popular option from Milan Porta Garibaldi to Milan Malpensa Airport among Omio's users. If you are prioritising price take the coach with prices starting from £4. For those with little time consider booking a train which can get you there in 43m. The ticket price range depends on the travel mode: a coach costs an average of £4, and a train costs an average of £8.
Distance: 40 km
Compare train with
Most popular Train | Coach |
|---|---|
£10 Average Price | £7 Average Price Cheapest |
1h 13m Average total duration Fastest 43m Onboard + 30m Additional time* | 1h 22m Average total duration 52m Onboard + 30m Additional time* |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Live departures
Milan Porta Garibaldi to Milan Malpensa Airport train times
The table below shows live departures for Milan Porta Garibaldi to Milan Malpensa Airport trains for today, Tuesday 7 April. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 2984 | 20:35 Milan Porta Garibaldi | 0h51 | 21:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2984 | 20:35 Milan Porta Garibaldi | 0h43 | 21:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2986 | 21:05 Milan Porta Garibaldi | 0h51 | 21:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2986 | 21:05 Milan Porta Garibaldi | 0h43 | 21:48 Malpensa Airport T1 | 0 changesdirect | |
| Wednesday 8 April | |||||
Regionale TRENORD 2510+ Regionale TRENORD 80316 | 3:32 Milan Porta Garibaldi | 1h00 | 4:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2510+ Regionale TRENORD 80316 | 3:32 Milan Porta Garibaldi | 1h06 | 4:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2918 | 4:05 Milan Porta Garibaldi | 0h51 | 4:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2918 | 4:05 Milan Porta Garibaldi | 0h43 | 4:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale 10212+ Regionale TRENORD 80318 | 4:10 Milan Porta Garibaldi | 0h58 | 5:08 Malpensa Airport T1 | 1 change | |
Regionale 10212+ Regionale TRENORD 80318 | 4:10 Milan Porta Garibaldi | 0h52 | 5:02 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2920 | 4:35 Milan Porta Garibaldi | 0h51 | 5:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2920 | 4:35 Milan Porta Garibaldi | 0h43 | 5:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10214+ Regionale TRENORD 80322 | 4:40 Milan Porta Garibaldi | 0h58 | 5:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 10214+ Regionale TRENORD 80322 | 4:40 Milan Porta Garibaldi | 0h52 | 5:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2922 | 5:05 Milan Porta Garibaldi | 0h43 | 5:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2922 | 5:05 Milan Porta Garibaldi | 0h51 | 5:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2924 | 5:35 Milan Porta Garibaldi | 0h51 | 6:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2924 | 5:35 Milan Porta Garibaldi | 0h43 | 6:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale 10216+ Regionale TRENORD 80326 | 5:40 Milan Porta Garibaldi | 0h58 | 6:38 Malpensa Airport T1 | 1 change | |
Regionale 10216+ Regionale TRENORD 80326 | 5:40 Milan Porta Garibaldi | 0h52 | 6:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2926 | 6:05 Milan Porta Garibaldi | 0h51 | 6:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2926 | 6:05 Milan Porta Garibaldi | 0h43 | 6:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2928 | 6:35 Milan Porta Garibaldi | 0h51 | 7:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2928 | 6:35 Milan Porta Garibaldi | 0h43 | 7:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10218+ Regionale TRENORD 80332 | 6:40 Milan Porta Garibaldi | 0h58 | 7:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 10218+ Regionale TRENORD 80332 | 6:40 Milan Porta Garibaldi | 0h52 | 7:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2930 | 7:05 Milan Porta Garibaldi | 0h43 | 7:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2930 | 7:05 Milan Porta Garibaldi | 0h51 | 7:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2932 | 7:35 Milan Porta Garibaldi | 0h51 | 8:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2932 | 7:35 Milan Porta Garibaldi | 0h43 | 8:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10220+ Regionale TRENORD 80336 | 7:40 Milan Porta Garibaldi | 0h52 | 8:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 10220+ Regionale TRENORD 80336 | 7:40 Milan Porta Garibaldi | 0h58 | 8:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2934 | 8:05 Milan Porta Garibaldi | 0h51 | 8:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2934 | 8:05 Milan Porta Garibaldi | 0h43 | 8:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2936 | 8:35 Milan Porta Garibaldi | 0h43 | 9:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2936 | 8:35 Milan Porta Garibaldi | 0h51 | 9:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2938 | 9:05 Milan Porta Garibaldi | 0h51 | 9:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2938 | 9:05 Milan Porta Garibaldi | 0h43 | 9:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2940 | 9:35 Milan Porta Garibaldi | 0h51 | 10:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2940 | 9:35 Milan Porta Garibaldi | 0h43 | 10:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale 10224+ Regionale TRENORD 80344 | 9:40 Milan Porta Garibaldi | 0h58 | 10:38 Malpensa Airport T1 | 1 change | |
Regionale 10224+ Regionale TRENORD 80344 | 9:40 Milan Porta Garibaldi | 0h52 | 10:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2942 | 10:05 Milan Porta Garibaldi | 0h43 | 10:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2942 | 10:05 Milan Porta Garibaldi | 0h51 | 10:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2944 | 10:35 Milan Porta Garibaldi | 0h51 | 11:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2944 | 10:35 Milan Porta Garibaldi | 0h43 | 11:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10226+ Regionale TRENORD 80348 | 10:40 Milan Porta Garibaldi | 0h58 | 11:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 10226+ Regionale TRENORD 80348 | 10:40 Milan Porta Garibaldi | 0h52 | 11:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2946 | 11:05 Milan Porta Garibaldi | 0h43 | 11:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2946 | 11:05 Milan Porta Garibaldi | 0h51 | 11:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2948 | 11:35 Milan Porta Garibaldi | 0h43 | 12:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2948 | 11:35 Milan Porta Garibaldi | 0h51 | 12:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale 10228+ Regionale TRENORD 80352 | 11:40 Milan Porta Garibaldi | 0h52 | 12:32 Malpensa Airport T2 | 1 change | |
Regionale 10228+ Regionale TRENORD 80352 | 11:40 Milan Porta Garibaldi | 0h58 | 12:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2950 | 12:05 Milan Porta Garibaldi | 0h51 | 12:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2950 | 12:05 Milan Porta Garibaldi | 0h43 | 12:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2952 | 12:35 Milan Porta Garibaldi | 0h51 | 13:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2952 | 12:35 Milan Porta Garibaldi | 0h43 | 13:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10230+ Regionale TRENORD 80356 | 12:40 Milan Porta Garibaldi | 0h52 | 13:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 10230+ Regionale TRENORD 80356 | 12:40 Milan Porta Garibaldi | 0h58 | 13:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2954 | 13:05 Milan Porta Garibaldi | 0h51 | 13:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2954 | 13:05 Milan Porta Garibaldi | 0h43 | 13:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2956 | 13:35 Milan Porta Garibaldi | 0h51 | 14:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2956 | 13:35 Milan Porta Garibaldi | 0h43 | 14:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale 10232+ Regionale TRENORD 80360 | 13:40 Milan Porta Garibaldi | 0h52 | 14:32 Malpensa Airport T2 | 1 change | |
Regionale 10232+ Regionale TRENORD 80360 | 13:40 Milan Porta Garibaldi | 0h58 | 14:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2958 | 14:05 Milan Porta Garibaldi | 0h51 | 14:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2958 | 14:05 Milan Porta Garibaldi | 0h43 | 14:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2960 | 14:35 Milan Porta Garibaldi | 0h51 | 15:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2960 | 14:35 Milan Porta Garibaldi | 0h43 | 15:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 10234+ Regionale TRENORD 80366 | 14:40 Milan Porta Garibaldi | 0h52 | 15:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 10234+ Regionale TRENORD 80366 | 14:40 Milan Porta Garibaldi | 0h58 | 15:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2962 | 15:05 Milan Porta Garibaldi | 0h51 | 15:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2962 | 15:05 Milan Porta Garibaldi | 0h43 | 15:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2964 | 15:35 Milan Porta Garibaldi | 0h51 | 16:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2964 | 15:35 Milan Porta Garibaldi | 0h43 | 16:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale 10236+ Regionale TRENORD 80370 | 15:40 Milan Porta Garibaldi | 0h58 | 16:38 Malpensa Airport T1 | 1 change | |
Regionale 10236+ Regionale TRENORD 80370 | 15:40 Milan Porta Garibaldi | 0h52 | 16:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2966 | 16:05 Milan Porta Garibaldi | 0h43 | 16:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2966 | 16:05 Milan Porta Garibaldi | 0h51 | 16:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2968 | 16:35 Milan Porta Garibaldi | 0h43 | 17:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2968 | 16:35 Milan Porta Garibaldi | 0h51 | 17:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 10238+ Regionale TRENORD 80376 | 16:40 Milan Porta Garibaldi | 0h58 | 17:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 10238+ Regionale TRENORD 80376 | 16:40 Milan Porta Garibaldi | 0h52 | 17:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2970 | 17:05 Milan Porta Garibaldi | 0h43 | 17:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2970 | 17:05 Milan Porta Garibaldi | 0h51 | 17:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2972 | 17:35 Milan Porta Garibaldi | 0h43 | 18:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2972 | 17:35 Milan Porta Garibaldi | 0h51 | 18:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale 10240+ Regionale TRENORD 80380 | 17:40 Milan Porta Garibaldi | 0h58 | 18:38 Malpensa Airport T1 | 1 change | |
Regionale 10240+ Regionale TRENORD 80380 | 17:40 Milan Porta Garibaldi | 0h52 | 18:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 2974 | 18:05 Milan Porta Garibaldi | 0h51 | 18:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2974 | 18:05 Milan Porta Garibaldi | 0h43 | 18:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2976 | 18:35 Milan Porta Garibaldi | 0h43 | 19:18 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2976 | 18:35 Milan Porta Garibaldi | 0h51 | 19:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 10242+ Regionale TRENORD 80384 | 18:40 Milan Porta Garibaldi | 0h52 | 19:32 Malpensa Airport T2 | 1 change | |
Regionale TRENORD 10242+ Regionale TRENORD 80384 | 18:40 Milan Porta Garibaldi | 0h58 | 19:38 Malpensa Airport T1 | 1 change | |
Regionale TRENORD 2978 | 19:05 Milan Porta Garibaldi | 0h43 | 19:48 Malpensa Airport T1 | 0 changesdirect | |
Regionale TRENORD 2978 | 19:05 Milan Porta Garibaldi | 0h51 | 19:56 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2980 | 19:35 Milan Porta Garibaldi | 0h51 | 20:26 Malpensa Airport T2 | 0 changesdirect | |
Regionale TRENORD 2980 | 19:35 Milan Porta Garibaldi | 0h43 | 20:18 Malpensa Airport T1 | 0 changesdirect | |
Find all the dates and times for this journey
Compare prices and tickets Milan Porta Garibaldi to Milan Malpensa Airport 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.
08 Apr
09 Apr
10 Apr
11 Apr
12 Apr
13 Apr
14 Apr
15 Apr
16 Apr
17 Apr
18 Apr
19 Apr
20 Apr
21 Apr
Why should you book Milan Porta Garibaldi to Milan Malpensa Airport trains with Omio?
Why book with Omio vs Malpensa Express?
- Compare with other providers: On Omio, you can not only buy tickets for Malpensa Express, but also compare tickets for the likes of Regionale or Trenord to find the best option for your trip from Milan Porta Garibaldi to Milan Malpensa Airport.
- 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 Malpensa Express with all available travel options, which are train and bus to ensure you get the best deal for traveling from Milan Porta Garibaldi to Milan Malpensa Airport.
Why book with Omio over Rome2rio, Trainline or Raileurope?
- Multiple modes of transport: Omio allows you to compare travel options including train and bus to find the ideal travel option from Milan Porta Garibaldi to Milan Malpensa Airport.
Journey information
Overview: Train from Milan Porta Garibaldi to Milan Malpensa Airport
Trains from Milan Porta Garibaldi to Milan Malpensa Airport run on average 77 times per day, taking around 43m. Cheap train tickets for this journey start at £8 but you can travel from only £4 by coach.
There are 58 trains per day. The earliest train runs at 10:40, the last at 21:40. The fastest train covers the 40 km distance in 41m.
Distance 40 km |
Average train duration 43m |
Cheapest ticket price £8 |
Trains per day 77 |
Direct trains 58 |
Fastest train 41m |
First train 10:40 |
Last train 21:40 |
Train companies: Malpensa Express, Regionale, Trenord from Milan Porta Garibaldi to Milan Malpensa Airport trainsMalpensa Express, Regionale, Trenord trains will get you between Milan Porta Garibaldi and Milan Malpensa Airport from £4. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Malpensa Express
Trenord
FAQs: Milan Porta Garibaldi to Milan Malpensa Airport train
Find answers to the most common questions about traveling from Milan Porta Garibaldi to Milan Malpensa Airport by train. 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 train, the cheapest option, or tips for making the most of your visit at Milan Malpensa Airport, this guide helps you travel smarter and with confidence.

Most popular train connections from Milan Porta Garibaldi
More options for your journey from Milan Porta Garibaldi to Milan Malpensa Airport
Here are some other resources that might have the information you need

