Livigno ski resort
Ski destinations October 9, 2026

Ski resorts near Milan: the closest to Malpensa and Bergamo, ranked

Milan has two ski airports: Malpensa reaches 96 resorts within 250 km, Bergamo 101. The closest to each, from Aprica at 63 km to Zermatt at 87 km, with prices.

Oliver Oliver · 9 min read

Milan has two ski airports on opposite sides of the city, and they point at different mountains. Malpensa, to the west, is the airport for the Valais and the Aosta valley: Saas-Fee is 81 km away, Zermatt 87 km, Cervinia 91 km, with 96 resorts within 250 km in our database. Bergamo, to the east, is the airport for the Valtellina, Trentino and the Engadin: Aprica is 63 km away, St. Moritz 93 km, Livigno 102 km, with 101 resorts within 250 km. Neither has a resort within an hour, but both put some of the highest skiing in the Alps within two. This guide ranks the 20 closest to each and says which airport to fly into for which mountain.

Key takeaways

  • Malpensa (MXP): 96 resorts within 250 km. Closest: Saas-Fee 81 km, Zermatt 87 km, Cervinia 91 km. Everything in the top 20 except Aprica is in Switzerland or the Aosta valley.
  • Bergamo (BGY): 101 resorts within 250 km. Closest: Aprica 63 km, St. Moritz 93 km, Passo Tonale 94 km, Livigno 102 km. Eight of the top 20 are Italian.
  • Highest skiing near Milan: Zermatt and Cervinia (3,883 m), Saas-Fee (3,573 m), the 4 Vallées (3,330 m), St. Moritz (3,303 m), Passo Tonale and Bormio (about 3,010 m).
  • Cheapest passes: Bardonecchia €52, Aprica €57, Pila €58, Sauze d’Oulx and Sestriere €58.50, Bormio €59, Cervinia €63. Swiss passes run from 52 CHF at Bellwald to 99.50 CHF at St. Moritz.
  • The Italian median day pass is €72 against Switzerland’s €87; Cervinia at €63 is the value entry to the Matterhorn area.

The 20 closest ski resorts to Milan Malpensa (MXP)

# Resort Country · ski area Slopes Lifts Top Day pass Km from MXP
1 Saas-Fee Switzerland · Saas-Fee 100 km 22 3,573 m 84 CHF, about €89 81
2 Zermatt Switzerland · Zermatt-Cervinia 322 km 52 3,883 m 96 CHF, about €102 87
3 Cervinia Italy · Zermatt-Cervinia 322 km 52 3,883 m €63 (Italian side) 91
4 Bettmeralp Switzerland · Aletsch Arena 104 km 35 2,869 m 84 CHF, about €89 97
5 Bellwald Switzerland · Bellwald 20 km 5 2,560 m 52 CHF, about €55 100
6 Zinal Switzerland · Val d’Anniviers 115 km 19 2,895 m 73 CHF*, about €77 102
7 Andermatt Switzerland · SkiArena Andermatt-Sedrun 180 km 22 2,963 m 99 CHF*, about €105 110
8 Pila Italy · Pila 70 km 11 2,700 m €58* 112
9 Sedrun Switzerland · SkiArena Andermatt-Sedrun 180 km 22 2,963 m 99 CHF*, about €105 117
10 Disentis Switzerland · Disentis 3000 60 km 10 2,833 m 62 CHF, about €66 119
11 Leukerbad Switzerland · Leukerbad 60 km 9 2,610 m 68 CHF, about €72 119
12 Mürren Switzerland · Jungfrau Region 53 km 14 2,970 m 79 CHF, about €83 121
13 Thyon-Les Collons Switzerland · 4 Vallées 410 km 82 3,330 m 82 CHF, about €87 (Printse sector) 121
14 Crans-Montana Switzerland · Crans-Montana 140 km 27 2,927 m 85 CHF, about €90 122
15 Grindelwald Switzerland · Jungfrau Region 206 km 44 2,970 m 79 CHF, about €83 123
16 Aprica Italy · Aprica 50 km 15 2,300 m €57* 124
17 Wengen Switzerland · Jungfrau Region 206 km 44 2,970 m 79 CHF, about €83 125
18 Nendaz Switzerland · 4 Vallées 410 km 82 3,330 m 89 CHF*, about €94 126
19 Verbier Switzerland · 4 Vallées 410 km 82 3,330 m 92 CHF, about €97 128
20 St. Moritz Switzerland · St. Moritz 155 km 24 3,303 m 99.50 CHF, about €105 (Corviglia) 129

The 20 closest ski resorts to Milan Bergamo (BGY)

# Resort Country · ski area Slopes Lifts Top Day pass Km from BGY
1 Aprica Italy · Aprica 50 km 15 2,300 m €57* 63
2 St. Moritz Switzerland · St. Moritz 155 km 24 3,303 m 99.50 CHF, about €105 93
3 Passo Tonale Italy · Pontedilegno-Tonale 100 km 29 3,016 m €70 94
4 Pinzolo Italy · Skirama Dolomiti 70 km 15 2,100 m €60 (local) 99
5 Livigno Italy · Livigno 115 km 31 2,798 m €74.50 102
6 Bormio Italy · Bormio 50 km 14 3,012 m €59 103
7 Madonna di Campiglio Italy · Skiarea Campiglio Dolomiti di Brenta 150 km 60 2,504 m €85* 107
8 Val di Sole Italy · Superskirama 150 km 36 2,846 m €83.50* (network) 110
9 Folgarida Italy · Skiarea Campiglio Dolomiti di Brenta 150 km 60 2,180 m €85* 116
10 Lenzerheide Switzerland · Arosa-Lenzerheide 225 km 43 2,865 m 89 CHF, about €94 118
11 Arosa Switzerland · Arosa-Lenzerheide 225 km 43 2,865 m 89 CHF, about €94 124
12 Davos Switzerland · Davos-Klosters 300 km 57 2,844 m 92 CHF, about €97 127
13 Laax Switzerland · Flims Laax Falera 224 km 28 3,018 m 92 CHF, about €97 130
14 Disentis Switzerland · Disentis 3000 60 km 10 2,833 m 62 CHF, about €66 132
15 Andermatt Switzerland · SkiArena Andermatt-Sedrun 180 km 22 2,963 m 99 CHF*, about €105 134
16 Scuol Switzerland · Motta Naluns 80 km 12 2,783 m 66 CHF, about €70 134
17 Sedrun Switzerland · SkiArena Andermatt-Sedrun 180 km 22 2,963 m 99 CHF*, about €105 134
18 Klosters Switzerland · Davos-Klosters 300 km 57 2,844 m 92 CHF, about €97 136
19 Saas-Fee Switzerland · Saas-Fee 100 km 22 3,573 m 84 CHF, about €89 146
20 Bellwald Switzerland · Bellwald 20 km 5 2,560 m 52 CHF, about €55 147

Source: Intski rankings of ski resorts near Milan Malpensa and Milan Bergamo airports and the lift pass index, checked 14 September 2026. Prices marked * are 2025/26. Francs converted at the ECB rate of 11 September 2026. Slope kilometres for linked areas are the area total. Milan Linate is not in our airport rankings; Turin (72 resorts, see our Turin guide) and Verona (62) are the other Italian ski airports.

Two things stand out. Straight-line distances flatter the Swiss resorts: Zermatt is 87 km from Malpensa as the crow flies but three hours by road because the Simplon pass or the car train are in the way, while Cervinia at 91 km is two hours on the motorway. And the two lists barely overlap. Fly into the airport on the side of the mountains you want.

From Malpensa: the Matterhorn, the Valais and Aosta

Malpensa is the airport for the highest skiing in the Alps. Cervinia (91 km, about two hours by road via the A5 and the Valtournenche) is the Italian side of the 322 km Zermatt-Cervinia area, with a base at 2,050 m, a top at 3,883 m, a November to May season and a €63 day pass for the Italian side; our Cervinia vs Zermatt guide compares the two villages. Zermatt itself is closer on the map and further by road: Malpensa to Täsch is about three hours, then the shuttle train. Saas-Fee (81 km) is the same story, a car-free glacier village at 1,800 m with lifts to 3,573 m, about two and a half hours by road via the Simplon.

Pila (112 km) is the local answer: 70 km of pistes above Aosta with a base at 1,800 m, Mont Blanc views and a €58 pass, reached by gondola from the town. Courmayeur (€69) and La Thuile (€61) are further up the same valley and about two hours from Malpensa, though our data lists Geneva and Turin as their nearest airports. On the Swiss side, the Aletsch Arena from Bettmeralp (97 km), the Val d’Anniviers from Zinal (102 km) and the 4 Vallées from Thyon or Nendaz (121 to 126 km) are two and a half to three hours by road, and Andermatt (110 km) is reached through the Gotthard.

From Bergamo: Valtellina, Trentino and the Engadin

Bergamo is the low-cost airport and the Italian one. Aprica (63 km, about 90 minutes) is the closest resort to any Milan airport: 50 km of sunny, 54% easy pistes for €57, a family day trip. The Valtellina continues to Bormio (103 km, €59, a top at 3,012 m, thermal baths and the World Cup downhill) and Livigno (102 km, €74.50, 115 km of snow-sure pistes at 1,816 to 2,798 m, duty-free and a 2026 Olympic venue), both about two and a half to three hours by road. Passo Tonale (94 km, €70) has 100 km up to 3,016 m on the Presena glacier, one of the most snow-sure and affordable options in northern Italy.

Trentino’s Skiarea Campiglio Dolomiti di Brenta, 150 km on 60 lifts, is entered from Madonna di Campiglio (107 km, the smart one, €85), Pinzolo (99 km, €60 for its own sector) or Folgarida (116 km); Val di Sole (110 km) sells the wider Superskirama pass at €83.50. Over the border, St. Moritz (93 km, 99.50 CHF for the Corviglia side) is closer to Bergamo than to Zurich, about two and a half hours via the Maloja pass, and Scuol (134 km, 66 CHF) is the quiet, thermal end of the Engadin. The Graubünden giants, Arosa-Lenzerheide (225 km), Davos-Klosters (300 km) and Laax (224 km), are three hours or more and better reached from Zurich.

Getting from Milan’s airports to the resorts

Malpensa has the Malpensa Express train to Milano Centrale in about 50 minutes, from where regional and Swiss trains reach Domodossola (for Saas-Fee and the Simplon), Brig and Visp (for Zermatt, about three and a half hours in total), Aosta (for Pila), Châtillon (for the Cervinia bus) and Tirano (for Bormio and Livigno by bus). Bergamo’s airport bus reaches Milano Centrale in an hour and Bergamo station in 15 minutes, with trains to Tirano (Valtellina) and Trento (for Trentino). Rough road times: Malpensa to Cervinia 2 hours, Saas-Fee 2 hours 30, Zermatt (Täsch) 3 hours, Pila 2 hours; Bergamo to Aprica 1 hour 30, Passo Tonale 2 hours, Bormio and Livigno 2 hours 30 to 3 hours, Madonna di Campiglio 2 hours 30, St. Moritz 2 hours 30. Shared transfers run from both airports to Cervinia, Livigno, Bormio and Madonna di Campiglio in winter; the airports list Malpensa and Bergamo ground transport.

Which resort near Milan should you choose

  • The highest and most snow-sure: Cervinia from Malpensa, Passo Tonale or Livigno from Bergamo.
  • Value: Aprica (€57), Pila (€58), Bormio (€59) and Cervinia (€63), all under Italy’s €72 median. Our guide to the cheapest ski resorts in Europe has the wider list.
  • A famous name: Zermatt or St. Moritz, at about €102 to €105 a day.
  • Families and beginners: Aprica (54% easy) or Folgarida (32% easy, on the 150 km Skiarea Campiglio). Our family ski holiday guide has the checklist.
  • Experts and off-piste: Zinal in the Val d’Anniviers, Andermatt, or Verbier’s 4 Vallées.
  • A day trip from the city: Aprica from Bergamo, about 90 minutes.
  • Early season: Cervinia and Zermatt from November, Passo Tonale’s glacier, or Saas-Fee; see our best time to ski in the Alps guide.

The resort finder matches five answers against all resorts in our database, and the ski trip cost calculator prices the week with real lift pass data.

Flying into Milan this winter? Set a snow alert on the resort pages of your shortlist and we will email you when 15 cm or more is on the way.

Quick answers

Which ski resort is closest to Milan?

Aprica, about 63 km from Bergamo airport as the crow flies and 90 minutes by road, with 50 km of slopes and a €57 day pass. From Malpensa the closest is Saas-Fee at 81 km, though Cervinia at 91 km is quicker by road.

Which Milan airport is best for skiing?

Malpensa for the Valais and the Aosta valley: Cervinia, Zermatt, Saas-Fee, Pila and the 4 Vallées. Bergamo for the Valtellina, Trentino and the Engadin: Aprica, Livigno, Bormio, Passo Tonale, Madonna di Campiglio and St. Moritz.

How many ski resorts are near Milan?

96 resorts in the Intski database lie within 250 km of Malpensa and 101 within 250 km of Bergamo. The 20 closest lie within 129 km of Malpensa and 147 km of Bergamo.

How far is Zermatt from Milan?

About 87 km from Malpensa as the crow flies but roughly three hours by road to Täsch via the Simplon pass, then the shuttle train. Cervinia, on the Italian side of the same ski area, is about two hours by road.

What is the biggest ski resort near Milan?

Zermatt-Cervinia, with 322 km of slopes and a top station at 3,883 m, 87 to 91 km from Malpensa. From Bergamo the biggest is Davos-Klosters at 300 km, three hours or more by road; the Skiarea Campiglio (150 km) is closer, about two and a half hours.

Can you get from Milan to ski resorts by train?

Partly. Zermatt is reachable by train via Domodossola and Visp in about three and a half hours from Milano Centrale, Aosta and Tirano are on the regional network, and St. Moritz via Tirano and the Bernina line. Most Italian resorts need a bus or transfer for the last leg.

Oliver

Written by

Oliver

Oliver writes resort comparisons and destination guides for Intski. He has skied for many years and works in IT, so his articles start from the numbers: slope kilometres, lifts, lift pass prices and opening dates from the Intski database, laid out so you can compare resorts yourself.

View all articles