The best-connected municipalities in canton Solothurn
Witterswil is the best-connected municipality in canton Solothurn: just 33 minutes by public transport to the nearest of the six major centres (Basel, Bern, Geneva, Lausanne, Lugano, Zurich). Bättwil (34 min) and Hofstetten-Flüh (36 min) follow. Source: ARE, National Passenger Transport Model (NPVM), 2025.
Ranking
ARE · NPVM · 2025| Rank | Municipality | PT travel time | Residents |
|---|---|---|---|
| 1 | Witterswil | 33 min | 1'475 |
| 2 | Bättwil | 34 min | 1'185 |
| 3 | Hofstetten-Flüh | 36 min | 3'410 |
| 4 | Dornach | 40 min | 6'898 |
| 5 | Rodersdorf | 41 min | 1'398 |
| 6 | Nuglar-St. Pantaleon | 43 min | 1'580 |
| 7 | Metzerlen-Mariastein | 44 min | 970 |
| 8 | Lohn-Ammannsegg | 44 min | 2'940 |
| 9 | Himmelried | 45 min | 974 |
| 10 | Büren | 47 min | 1'060 |
| 11 | Lüterkofen-Ichertswil | 48 min | 923 |
| 12 | Biberist | 48 min | 9'531 |
| 13 | Gempen | 49 min | 919 |
| 14 | Seewen | 49 min | 1'088 |
| 15 | Breitenbach | 51 min | 4'440 |
| 16 | Olten | 53 min | 19'265 |
| 17 | Kleinlützel | 53 min | 1'190 |
| 18 | Hochwald | 54 min | 1'278 |
| 19 | Schnottwil | 55 min | 1'159 |
| 20 | Büsserach | 55 min | 2'473 |
| 21 | Unterramsern | 56 min | 230 |
| 22 | Bolken | 56 min | 579 |
| 23 | Erschwil | 56 min | 996 |
| 24 | Messen | 57 min | 1'506 |
| 25 | Obergösgen | 58 min | 2'553 |
| 26 | Trimbach | 58 min | 6'928 |
| 27 | Winznau | 58 min | 2'061 |
| 28 | Zuchwil | 58 min | 9'622 |
| 29 | Däniken | 58 min | 3'108 |
| 30 | Dulliken | 58 min | 5'489 |
| 31 | Wangen bei Olten | 58 min | 5'598 |
| 32 | Hägendorf | 59 min | 5'343 |
| 33 | Rickenbach | 59 min | 1'208 |
| 34 | Schönenwerd | 59 min | 5'437 |
| 35 | Fehren | 59 min | 619 |
| 36 | Etziken | 60 min | 1'093 |
| 37 | Gretzenbach | 60 min | 2'825 |
| 38 | Solothurn | 60 min | 16'830 |
| 39 | Nunningen | 60 min | 1'948 |
| 40 | Niedergösgen | 61 min | 4'297 |
| 41 | Gerlafingen | 61 min | 5'859 |
| 42 | Feldbrunnen-St. Niklaus | 61 min | 1'068 |
| 43 | Grindel | 61 min | 508 |
| 44 | Meltingen | 61 min | 623 |
| 45 | Hüniken | 62 min | 160 |
| 46 | Starrkirch-Wil | 62 min | 2'020 |
| 47 | Zullwil | 62 min | 704 |
| 48 | Neuendorf | 63 min | 2'412 |
| 49 | Obergerlafingen | 63 min | 1'232 |
| 50 | Eppenberg-Wöschnau | 63 min | 336 |
| 51 | Bärschwil | 63 min | 806 |
| 52 | Härkingen | 64 min | 1'763 |
| 53 | Oberbuchsiten | 64 min | 2'382 |
| 54 | Kienberg | 64 min | 526 |
| 55 | Derendingen | 64 min | 7'219 |
| 56 | Lüsslingen-Nennigkofen | 65 min | 1'131 |
| 57 | Niederbuchsiten | 66 min | 1'369 |
| 58 | Hauenstein-Ifenthal | 66 min | 348 |
| 59 | Rüttenen | 66 min | 1'498 |
| 60 | Buchegg | 67 min | 2'979 |
| 61 | Horriwil | 67 min | 940 |
| 62 | Langendorf | 67 min | 3'983 |
| 63 | Fulenbach | 67 min | 1'841 |
| 64 | Beinwil | 67 min | 248 |
| 65 | Egerkingen | 68 min | 4'365 |
| 66 | Kriegstetten | 68 min | 1'456 |
| 67 | Subingen | 68 min | 3'311 |
| 68 | Bellach | 68 min | 5'632 |
| 69 | Boningen | 68 min | 816 |
| 70 | Gunzgen | 68 min | 1'783 |
| 71 | Kappel | 68 min | 3'591 |
| 72 | Biezwil | 69 min | 345 |
| 73 | Grenchen | 69 min | 18'973 |
| 74 | Lostorf | 70 min | 4'113 |
| 75 | Aeschi | 70 min | 1'342 |
| 76 | Deitingen | 70 min | 2'409 |
| 77 | Wisen | 71 min | 451 |
| 78 | Luterbach | 71 min | 3'756 |
| 79 | Flumenthal | 71 min | 1'023 |
| 80 | Hubersdorf | 71 min | 727 |
| 81 | Oensingen | 72 min | 6'766 |
| 82 | Erlinsbach | 72 min | 3'761 |
| 83 | Oberdorf | 73 min | 1'806 |
| 84 | Recherswil | 76 min | 2'260 |
| 85 | Bettlach | 76 min | 4'935 |
| 86 | Riedholz | 76 min | 2'319 |
| 87 | Günsberg | 77 min | 1'169 |
| 88 | Selzach | 77 min | 3'750 |
| 89 | Walterswil | 77 min | 768 |
| 90 | Wolfwil | 78 min | 2'473 |
| 91 | Balsthal | 78 min | 6'622 |
| 92 | Holderbank | 78 min | 779 |
| 93 | Laupersdorf | 78 min | 1'916 |
| 94 | Stüsslingen | 78 min | 1'265 |
| 95 | Lommiswil | 78 min | 1'615 |
| 96 | Kestenholz | 79 min | 1'888 |
| 97 | Matzendorf | 83 min | 1'439 |
| 98 | Drei Höfe | 83 min | 727 |
| 99 | Balm bei Günsberg | 83 min | 213 |
| 100 | Kammersrohr | 87 min | 32 |
| 101 | Mümliswil-Ramiswil | 88 min | 2'472 |
| 102 | Aedermannsdorf | 91 min | 607 |
| 103 | Herbetswil | 93 min | 617 |
| 104 | Welschenrohr-Gänsbrunnen | 101 min | 1'199 |
How we measure this
ARE · NPVMModelled public-transport travel time from the municipality to the fastest-reachable of the six major centres Basel, Bern, Geneva, Lausanne, Lugano and Zurich, in minutes (including access and egress). Basis: the ARE National Passenger Transport Model (NPVM), reference state 2025. A lower value means better connectivity; the list runs from the shortest travel time upward. It is the same figure as the remotest-municipalities ranking, read from the other end.
Frequently asked questions
- Which municipality in canton Solothurn is the best connected?
- Witterswil: just 33 minutes by public transport to the nearest major centre (2025) – the lowest value in canton Solothurn. Source: ARE (NPVM).
- What does "best connected" mean?
- It is the shortest modelled public-transport travel time to the fastest-reachable of the six major centres (Basel, Bern, Geneva, Lausanne, Lugano, Zurich). The centres themselves and their immediate suburbs reach the best values. Computed by ARE in the National Passenger Transport Model, {year} timetable.