Ski resorts near Zurich by train
Zurich has the shortest single journey of all four major stations: Sattel-Hochstuckli in 59 min. Seven areas are under 90 minutes, seventeen under two hours.
The catch sits one level up. The small central Swiss and Glarus areas are quick to reach but small; the nearest area with more than 100 km of piste is LAAX (Flims Laax Falera) at 1 h 44. Ski big from Zurich and you give back the head start the short journeys promise.
Direct trains are almost nonexistent. Exactly one connection in the whole dataset needs no change, and it runs to Airolo on the southern side of the Alps.
Up to 90 minutes (7)
A day trip with no planning needed. Leave at eight, be on the slopes before ten.
| Ski area | Journey | Changes | Alight at | Canton | Km of piste | Day pass |
|---|---|---|---|---|---|---|
| Sattel-Hochstuckli | 59 min | 1 | Sattel | Schwyz | 14 | CHF 44 |
| Pizol | 1 h 08 | 1 | Wangs, Pizolbahn | St. Gallen | 43 | CHF 68 |
| Amden – Arvenbüel | 1 h 16 | 1 | Amden, Hinterstein | St. Gallen | 20 | CHF 46 |
| Flumserberg | 1 h 21 | 1 | Flumserberg Tannenboden | St. Gallen | 65 | CHF 74 |
| Mythenregion | 1 h 21 | 2 | Schwyz, Weidhuobli | Schwyz | 45 | CHF 54 |
| Hoch-Ybrig | 1 h 24 | 2 | Hoch-Ybrig, Talst. Weglosen | Schwyz | 50 | CHF 62 |
| GrĂĽsch Danusa | 1 h 29 | 1 | GrĂĽsch, Danusa | Grisons | 30 | CHF 55 |
90 minutes to 2.5 hours (28)
Still a day trip, but it fills the day. This is where a weekend starts to make more sense.
| Ski area | Journey | Changes | Alight at | Canton | Km of piste | Day pass |
|---|---|---|---|---|---|---|
| Klewenalp-StockhĂĽtte | 1 h 36 | 2 | Beckenried, Post | Nidwalden | 40 | CHF 55 |
| Elm im Sernftal | 1 h 38 | 2 | Elm, Dorf | Glarus | 40 | CHF 55 |
| Marbach – Marbachegg | 1 h 40 | 2 | Marbach LU, Bergkäserei | Lucerne | 15 | CHF 40 |
| Stoos | 1 h 42 | 2 | Stoos SZ | Schwyz | 35 | CHF 60 |
| Engelberg-Titlis | 1 h 43 | 1 | Engelberg | Obwalden | 82 | CHF 78 |
| LAAX (Flims Laax Falera) | 1 h 44 | 1 | Flims Dorf, Post | Grisons | 224 | CHF 92 |
| Sörenberg | 1 h 47 | 2 | Sörenberg, Post | Lucerne | 50 | CHF 58 |
| Braunwald | 1 h 49 | 1 | Braunwald | Glarus | 26 | CHF 58 |
| Brambrüesch – Chur | 1 h 49 | 3 | Brambrüesch | Grisons | 15 | CHF 45 |
| Tschiertschen | 1 h 52 | 1 | Tschiertschen, Dorf | Grisons | 30 | CHF 55 |
| Airolo – Pesciüm | 2 h 01 | direct | Airolo | Ticino | 30 | CHF 52 |
| Wildhaus – Gamserrugg | 2 h 01 | 4 | Wildhaus Oberdorf | St. Gallen | 23 | CHF 57 |
| Andermatt-Sedrun | 2 h 02 | 1 | Andermatt | Uri / Grisons | 120 | CHF 89 |
| Meiringen-Hasliberg | 2 h 06 | 1 | Meiringen | Bern | 60 | CHF 65 |
| Melchsee-Frutt | 2 h 09 | 2 | Melchtal Stöckalp (Talstation) | Obwalden | 32 | CHF 56 |
| Splügen – Tambo | 2 h 10 | 1 | Splügen, Bergbahnen | Grisons | 30 | CHF 61 |
| Charmey | 2 h 20 | 1 | Charmey (Gruyère), Corbettaz | Fribourg | 30 | CHF 45 |
| Schwarzsee – Kaiseregg | 2 h 20 | 2 | Schwarzsee, Hostellerie | Fribourg | 28 | CHF 44 |
| Visperterminen – Giw | 2 h 21 | 1 | Visperterminen, Dorfeingang | Valais | 20 | CHF 53 |
| Davos Klosters | 2 h 24 | 2 | Davos Dorf, Schiaweg | Grisons | 300 | CHF 92 |
| La Robella – Val-de-Travers | 2 h 25 | 2 | St-Sulpice NE, Terminus | Neuchâtel | 30 | CHF 40 |
| Savognin | 2 h 26 | 2 | Savognin, posta | Grisons | 80 | from CHF 54 |
| Chäserrugg / Toggenburg | 2 h 27 | 5 | Chäserrugg | St. Gallen | 50 | CHF 62, dynamic |
| Wiriehorn – Diemtigtal | 2 h 27 | 3 | Diemtigen Nüegg | Bern | 20 | CHF 46 |
| Adelboden-Lenk | 2 h 28 | 2 | Adelboden, Post | Bern | 210 | CHF 80 |
| Obersaxen Mundaun | 2 h 28 | 2 | Obersaxen, Meierhof Post | Grisons | 120 | CHF 58 |
| Brigels | 2 h 28 | 3 | Breil/Brigels, Palius | Grisons | 40 | CHF 60 |
| Arosa Lenzerheide | 2 h 29 | 1 | Arosa | Grisons | 225 | CHF 89 |
2.5 to 4 hours (47)
Too far for a single day. These are weekend or holiday destinations.
| Ski area | Journey | Changes | Alight at | Canton | Km of piste | Day pass |
|---|---|---|---|---|---|---|
| Aletsch Arena | 2 h 31 | 2 | Bettmeralp Talstation | Valais | 104 | CHF 77 |
| Vals – Dachberg | 2 h 33 | 2 | Vals, Post | Grisons | 20 | CHF 44 |
| Jaun | 2 h 34 | 1 | Jaun, Dorf | Fribourg | 30 | CHF 42 |
| Nara – Leontica | 2 h 34 | 4 | Ponto Valentino, Fontana | Ticino | 30 | CHF 46 |
| Bergün – Darlux | 2 h 34 | 1 | Bergün/Bravuogn | Grisons | 25 | CHF 46 |
| Scuol – Motta Naluns | 2 h 37 | 1 | Scuol-Tarasp | Grisons | 70 | CHF 66 |
| Grindelwald-Wengen | 2 h 38 | 2 | Grindelwald, Bahnhof | Bern | 102 | CHF 79 |
| Grindelwald – First | 2 h 38 | 2 | Grindelwald | Bern | 50 | CHF 79 |
| Disentis 3000 | 2 h 39 | 2 | Disentis/Mustér, Raveras | Grisons | 60 | CHF 62 |
| San Bernardino | 2 h 40 | 1 | S. Bernardino, Funivia | Grisons | 35 | CHF 52 |
| Zuoz – Pizzet/Albanas | 2 h 41 | 1 | Zuoz | Grisons | 15 | CHF 49 |
| Moléson | 2 h 42 | 2 | Moléson-sur-Gruyères | Fribourg | 30 | CHF 44 |
| Saas-Grund – Hohsaas | 2 h 45 | 1 | Saas-Grund, Unter dem Berg | Valais | 34 | CHF 60 |
| Grächen | 2 h 48 | 1 | Grächen, Zentrum | Valais | 44 | CHF 64 |
| Lauchernalp – Lötschental | 2 h 48 | 3 | Lauchernalp | Valais | 40 | CHF 70 |
| Carì | 2 h 51 | 1 | Tengia | Ticino | 24 | CHF 45 |
| MĂĽrren-Schilthorn | 2 h 53 | 4 | MĂĽrren (Schilthornbahn) | Bern | 50 | CHF 79 |
| Rosswald | 2 h 53 | 3 | Rosswald | Valais | 20 | CHF 42 |
| Elsigenalp – Frutigen | 2 h 54 | 4 | Elsigenalp | Bern | 30 | CHF 50 |
| Gstaad (inkl. Zweisimmen und Glacier 3000) | 2 h 55 | 2 | Gstaad | Bern / Vaud | 200 | CHF 82 |
| Belalp – Blatten | 2 h 56 | 2 | Belalp | Valais | 44.8 | up to CHF 77 |
| Crans-Montana | 2 h 58 | 2 | Crans-Montana, gare | Valais | 140 | CHF 85 |
| Bivio | 3 h 00 | 3 | Bivio, posta | Grisons | 30 | CHF 50 |
| Bellwald | 3 h 01 | 2 | Fieschertal, Dorfplatz | Valais | 30 | CHF 52 |
| Leukerbad – Torrent | 3 h 04 | 3 | Leukerbad, Busterminal | Valais | 50 | CHF 68 |
| St. Moritz – Corviglia | 3 h 05 | 1 | St. Moritz | Grisons | 155 | CHF 95 |
| Moosalp – Bürchen/Törbel | 3 h 05 | 1 | Moosalp | Valais | 25 | CHF 53 |
| Minschuns – Val Müstair | 3 h 05 | 2 | Tschierv, Süsom Tschierv | Grisons | 25 | CHF 42 |
| Zermatt – Matterhorn | 3 h 15 | 1 | Zermatt | Valais | 360 | CHF 92 |
| Saas-Fee | 3 h 17 | 1 | Saas-Fee Chalbermatten | Valais | 100 | CHF 87 |
| Leysin | 3 h 17 | 4 | Leysin-Feydey | Vaud | 60 | CHF 62 |
| Nax – Mont-Noble | 3 h 18 | 2 | Nax, centre | Valais | 20 | CHF 44 |
| Villars-Gryon-Diablerets | 3 h 21 | 4 | Villars-sur-Ollon, gare | Vaud | 125 | CHF 65 |
| Saint-Luc / Chandolin | 3 h 25 | 3 | St-Luc, poste | Valais | 75 | CHF 62 |
| Anzère | 3 h 25 | 2 | Anzère (télécabine) | Valais | 58 | CHF 59 |
| Villars-Gryon (nur CH-Teil) | 3 h 25 | 4 | Villars-sur-Ollon, HĂ´tels | Vaud | 44 | CHF 65 |
| Les Bugnenets-Savagnières | 3 h 26 | 1 | Les Bugnenets | Neuchâtel / Bern | 30 | CHF 42 |
| Evolène | 3 h 27 | 2 | Evolène, Office du Tourisme | Valais | 42 | CHF 48 |
| Les Marécottes | 3 h 31 | 2 | Les Marécottes | Valais | 25 | CHF 48 |
| Vercorin | 3 h 34 | 3 | Vercorin, poste | Valais | 35 | CHF 52 |
| Grimentz-Zinal | 3 h 35 | 2 | Grimentz, télécabine | Valais | 106 | CHF 66 |
| Corvatsch-Silvaplana | 3 h 38 | 3 | Silvaplana, Baselgia | Grisons | 120 | CHF 88 |
| Les Mosses / La Lécherette | 3 h 44 | 3 | Les Mosses, village | Vaud | 40 | CHF 52 |
| Diavolezza-Lagalb | 3 h 45 | 3 | Diavolezza | Grisons | 35 | CHF 88 |
| Ovronnaz | 3 h 45 | 3 | Ovronnaz (télésiège) | Valais | 30 | CHF 50 |
| Bosco Gurin – Grossalp | 3 h 47 | 3 | Bosco/Gurin, Paese | Ticino | 30 | CHF 48 |
| Arolla | 3 h 58 | 2 | Arolla, poste | Valais | 12 | CHF 42 |
Over 4 hours (3)
Half a journey. There is almost always a closer area with a comparable offer in between.
| Ski area | Journey | Changes | Alight at | Canton | Km of piste | Day pass |
|---|---|---|---|---|---|---|
| Samnaun / Silvretta Arena | 4 h 07 | 2 | Samnaun-Dorf, Post | Grisons | 239 | CHF 78 |
| Champéry / Portes du Soleil (CH) | 4 h 08 | 2 | Champéry | Valais | 600 | CHF 62 |
| Verbier / 4 Vallées | 4 h 14 | 3 | Verbier, station poste | Valais | 410 | CHF 92 |
Where these times come from
Journey times come from the open timetable interface at transport.opendata.ch, the same data the official Swiss timetable runs on. The script queries a Saturday morning and keeps the fastest of three connections, from Zurich HB to the station named in the table.
Two caveats. Winter-only services are not yet in the published timetable, so a few areas will get quicker in December; the query is repeated then. And the time ends at the valley station, not on the piste: the ski bus or the gondola up still comes on top, which is anywhere from a few minutes to half an hour.
So these are reference values for comparing areas against each other, not a timetable to travel on. Check the actual connection before you go.
Source: transport.opendata.ch