Skip to main content
Canton Solothurn overview
Ranking · Data 1991–2020 · Source: BFS

The warmest municipalities in canton Solothurn (1991–2020)

National ranking

Bättwil is the warmest municipality in canton Solothurn: 10.7 °C annual mean (1991–2020 normals). Next come Dornach (10.7 °C) and Witterswil (10.7 °C). Source: MeteoSwiss 1 km climate-normals grid.

Ranking

MeteoSchweiz · 1991–2020
RankMunicipalityAvg. temp.Residents
1Bättwil10.7 °C1'185
2Dornach10.7 °C6'898
3Witterswil10.7 °C1'475
4Nuglar-St. Pantaleon10.2 °C1'580
5Büsserach10.2 °C2'473
6Rodersdorf10.1 °C1'398
7Büren10 °C1'060
8Hofstetten-Flüh10 °C3'410
9Däniken10 °C3'108
10Eppenberg-Wöschnau10 °C336
11Gretzenbach10 °C2'825
12Schönenwerd10 °C5'437
13Obergösgen9.9 °C2'553
14Winznau9.8 °C2'061
15Selzach9.8 °C3'750
16Wolfwil9.7 °C2'473
17Metzerlen-Mariastein9.7 °C970
18Kienberg9.7 °C526
19Deitingen9.7 °C2'409
20Zuchwil9.7 °C9'622
21Bellach9.7 °C5'632
22Solothurn9.7 °C16'830
23Breitenbach9.7 °C4'440
24Härkingen9.6 °C1'763
25Neuendorf9.6 °C2'412
26Niederbuchsiten9.6 °C1'369
27Lüsslingen-Nennigkofen9.6 °C1'131
28Niedergösgen9.6 °C4'297
29Derendingen9.6 °C7'219
30Luterbach9.6 °C3'756
31Bettlach9.6 °C4'935
32Feldbrunnen-St. Niklaus9.6 °C1'068
33Flumenthal9.6 °C1'023
34Fulenbach9.6 °C1'841
35Gunzgen9.6 °C1'783
36Rickenbach9.6 °C1'208
37Kestenholz9.5 °C1'888
38Messen9.5 °C1'506
39Unterramsern9.5 °C230
40Trimbach9.5 °C6'928
41Gerlafingen9.5 °C5'859
42Kriegstetten9.5 °C1'456
43Obergerlafingen9.5 °C1'232
44Recherswil9.5 °C2'260
45Subingen9.5 °C3'311
46Grenchen9.5 °C18'973
47Olten9.5 °C19'265
48Schnottwil9.4 °C1'159
49Erlinsbach9.4 °C3'761
50Biberist9.4 °C9'531
51Etziken9.4 °C1'093
52Horriwil9.4 °C940
53Kappel9.4 °C3'591
54Fehren9.4 °C619
55Kleinlützel9.4 °C1'190
56Lüterkofen-Ichertswil9.3 °C923
57Hochwald9.3 °C1'278
58Aeschi9.3 °C1'342
59Bolken9.3 °C579
60Drei Höfe9.3 °C727
61Hubersdorf9.3 °C727
62Langendorf9.3 °C3'983
63Dulliken9.3 °C5'489
64Wangen bei Olten9.3 °C5'598
65Bärschwil9.3 °C806
66Erschwil9.3 °C996
67Egerkingen9.2 °C4'365
68Lohn-Ammannsegg9.2 °C2'940
69Rüttenen9.2 °C1'498
70Boningen9.2 °C816
71Grindel9.2 °C508
72Zullwil9.2 °C704
73Biezwil9.1 °C345
74Seewen9.1 °C1'088
75Lommiswil9.1 °C1'615
76Walterswil9.1 °C768
77Nunningen9.1 °C1'948
78Oberbuchsiten9 °C2'382
79Oensingen9 °C6'766
80Balsthal9 °C6'622
81Hauenstein-Ifenthal9 °C348
82Lostorf9 °C4'113
83Stüsslingen9 °C1'265
84Kammersrohr9 °C32
85Riedholz9 °C2'319
86Buchegg8.9 °C2'979
87Gempen8.9 °C919
88Matzendorf8.8 °C1'439
89Oberdorf8.8 °C1'806
90Himmelried8.8 °C974
91Laupersdorf8.7 °C1'916
92Wisen8.7 °C451
93Günsberg8.6 °C1'169
94Meltingen8.6 °C623
95Hägendorf8.5 °C5'343
96Holderbank8.3 °C779
97Welschenrohr-Gänsbrunnen8.3 °C1'199
98Beinwil8 °C248
99Herbetswil7.7 °C617
100Mümliswil-Ramiswil7.6 °C2'472
101Balm bei Günsberg7.4 °C213
102Aedermannsdorf7 °C607
1991–2020 · MeteoSwiss, retrieved 28.08.2026

How we measure this

MeteoSchweiz

Mean annual air temperature from the MeteoSwiss 1 km gridded climate normals — a spatial analysis of the 1991–2020 normals period — read at the municipality's main settlement rather than interpolated from distant stations. The figure describes the inhabited valley floor, not the surrounding peaks.

Frequently asked questions

Which municipality in canton Solothurn is the warmest?
Bättwil is the warmest municipality in canton Solothurn, at 10.7 °C annual mean (1991–2020).
Where does the temperature data come from?
From the MeteoSwiss 1 km climate-normals grid ({year}), sampled at the main settlement. This is deliberately not the territorial average, which for Alpine municipalities is far colder because it takes in the high, glaciated terrain — Zermatt's village reads about 3.7 °C, its whole area about −3 °C.