Tour 2026, 23 - 26 August
| stage | distance (km) | climbing (m) |
|---|---|---|
| Lausanne - Avenches - Laupen - Liebefeld | 134 | 1770 |
| Liebefeld - Thun - Eriz - Signau | 121 | 2200 |
| Signau - Burgdorf - Willisau | 112 | 1780 |
| Willisau - Sempach - Zug - Ringlikon | 103 | 1140 |
| total | 470 | 6890 |
Stage 1 (23 August 2026): Lausanne - Avenches - Laupen - Liebefeld
This year, breaking with my usual routine, i decided to follow a pre-planned route: Route 99, known as the Heart Route. It links Lausanne to Romanshorn, normally in 13 stages. I chose to cover the western section in four days. So i made my way to Lausanne on a Sunday morning and was able to set off before 9 am. The official start would have been in Ouchy, but i took the liberty of heading straight down from the station towards Pully. From Lutry onwards, the route gradually climbed through the Lavaux vineyards. A magnificent landscape, of course, which you leave behind as you approach Chexbres. At Puidoux, due to roadworks, i had to take a slight detour. After that, there were a few climbs, some of them steep, up to the Col de Gourze. From there, heading north-north-east, the route went up and down several times, with some sections on gravel too. At Gillarens, i took a slight detour from the official route to go via the Golettes pass. Further on, Route 99 runs just north of Rue via the Fourches pass, then through Esmonts, which i also count as a pass. After a short break on a terrace in Romont, the route was generally downhill to Avenches (and its Roman ruins), but with several short climbs, and more gravel.
I then decided not to take the (tourist) detour via Morat, as i’ve already visited its old town several times. My destination was still quite a way off and time was running out. After cycling up and down towards the Sarine valley, i arrived in Laupen. Like Romont, this is an official stop on the Heart Route, and i marked the occasion with a short break and a cold drink (as it was quite hot). I set off again, climbing towards the Sandgruben pass. The route above Neuenegg was partly along forest tracks, then it descended towards Thörishaus before climbing quite steeply again towards Oberried, where the Swiss bike park is located. After a final small pass at Berg, i descended towards Köniz to reach my brother and his family in Liebefeld.
| distance (km) | altitude (m) | climbing (m) | |
|---|---|---|---|
| Lausanne | 0 | 440 | |
| Lutry | 5 | 370 | |
| Grandvaux | 9 | 490 | 120 |
| Riex | 10 | 440 | |
| Col de Gourze | 20 | 800 | 360 |
| Le Pigeon (Forel) | 23 | 690 | |
| Les Côtales | 24 | 710 | 20 |
| Châtillens | 30 | 610 | |
| Les Golettes | 34 | 720 | 110 |
| Les Riaux | 35 | 680 | |
| Pré des Sauges | 36 | 710 | 30 |
| Rue | 38 | 660 | |
| Les Fourches | 39 | 690 | 30 |
| Esmonts | 42 | 830 | 140 |
| Le Saulgy | 44 | 860 | 30 |
| Prés Vuilleret (Romont) | 51 | 710 | |
| Romont | 52 | 760 | 50 |
| Petits Quartiers (Romont) | 53 | 690 | |
| Sur la Montagne | 56 | 810 | 120 |
| Les Arbognes | 71 | 500 | |
| Les Cabuches (Montagny) | 72 | 570 | 70 |
| Bas des Thierdoz | 77 | 490 | |
| Domdidier | 81 | 440 | |
| Avenches | 83 | 480 | 40 |
| La Conchette (Avenches) | 84 | 450 | |
| Porte de l'Est | 86 | 490 | 40 |
| Bayse | 88 | 450 | |
| Peiry (Cressier) | 96 | 580 | 130 |
| L'Harmindra (Cressier) | 97 | 530 | |
| Cordast | 103 | 620 | 90 |
| Laupen | 113 | 490 | |
| Chutze | 115 | 610 | 120 |
| Sandgruben | 116 | 590 | |
| Finstermoos | 119 | 640 | 50 |
| Abschlag | 121 | 620 | |
| Schorenholz | 123 | 670 | 50 |
| Thörishaus | 124 | 590 | |
| Oberried | 126 | 690 | 100 |
| Mengestorf | 128 | 640 | |
| Berg | 129 | 680 | 40 |
| Köniz | 133 | 570 | |
| Liebefeld | 134 | 600 | 30 |
| total | 134 | 1770 |
Stage 2 (24 August 2026): Liebefeld - Thun - Eriz - Signau
On Monday morning, it was drizzling. But by the time I'd had lubreakfastnch and got ready to set off, the rain had already stopped. I set off again the way I'd come, but then stayed on the main road as far as Niederscherli. A first climb along narrow roads took me to Schlatt, followed by a second, longer climb to Hubel and Oberflüh. To descend from this ridge towards Ratzenberg, I had to follow gravel tracks for part of the way. The same was true further on past Seitenberg, before heading down towards Gschneit and then Riggisberg. Next came a short climb towards Oberschönegg and a long descent towards Wattenwil. However, there were roadworks and a diversion, which forced me to climb a bit more via Burgistein. As far as the Thun area, I followed a similar route (but in the opposite direction) to last year's tour, this time passing not only through Reckenbühl and Bodenzingen but also (a slight detour from the official 99 route) through Tannebüel, then Bodewald and Egg.
The next part involved heading north again, via Gwattegg towards Thun and Steffisburg. This is where the longest (but not too steep) climb of the day began, towards Buchen, then Multenegg and Heiligenschwendi. After Chrinde, the route 99 climbs up into the Ringlodswil valley along a steep little road, then descends again along a gravel track. We then head more or less north-east, passing through Wolfgruebe and Habchegg. Further on, the descent towards Eriz is punctuated by a few short climbs. We then head due west towards Losenegg, and from there head north again with two fairly challenging climbs: from the Rotache valley to the Hirsetschwändi forest (partly on gravel), then from Röthenbach to Heimenrüti. After a lovely descent, I arrived in Signau.
| distance (km) | altitude (m) | climbing (m) | |
|---|---|---|---|
| Liebefeld | 0 | 600 | |
| Niederscherli | 7 | 660 | 60 |
| Schlatt | 10 | 750 | 90 |
| Kehrmühle | 11 | 710 | |
| Hubel | 13 | 890 | 180 |
| Oberflüh | 14 | 930 | 40 |
| Ratzenberg | 16 | 870 | |
| Seitenberg | 18 | 970 | 100 |
| Gschneit | 20 | 940 | |
| Riggisberg | 25 | 760 | |
| Oberschönegg | 27 | 790 | 30 |
| Flachsern (Burgistein) | 30 | 770 | |
| Wattenwil | 33 | 590 | |
| Reckenbühl | 36 | 680 | 90 |
| Bodenzingen | 37 | 700 | 20 |
| Tannebüel | 38 | 710 | 10 |
| Täschenholz | 39 | 730 | 20 |
| Amsoldingen | 42 | 640 | |
| Bodewald | 44 | 670 | 30 |
| Egg | 46 | 640 | |
| Alte Schleife | 48 | 600 | |
| Gwattegg | 49 | 640 | 40 |
| Gwatt (Thun) | 50 | 560 | |
| Steffisburg | 57 | 560 | |
| Hübeli | 65 | 1020 | 460 |
| Lütschental | 66 | 990 | |
| Multenegg | 68 | 1080 | 90 |
| Heiligenschwendi | 69 | 1100 | 20 |
| Raaferewald | 71 | 1150 | 50 |
| Chrinde | 73 | 1030 | |
| Ringoldswilgraben | 74 | 1100 | 70 |
| Stalden | 76 | 1010 | |
| Wolfgruebe | 78 | 1080 | 70 |
| Brambergweid | 80 | 1010 | |
| Habchegg | 82 | 1120 | 110 |
| Farnegg | 86 | 1040 | |
| Hubel | 87 | 1070 | 30 |
| Horrenbachmühle | 89 | 910 | |
| Hinterthal | 91 | 1010 | 100 |
| Mühlematt | 92 | 950 | |
| Untere Halten (Eriz) | 93 | 1010 | 60 |
| Hinterbühl | 94 | 980 | |
| Losenegg | 96 | 1020 | 40 |
| Tanzboden | 101 | 850 | |
| Hirsetschwändi | 106 | 1030 | 180 |
| Bühlmenschwand | 108 | 950 | |
| Rossboden | 109 | 980 | 30 |
| Röthenbach | 111 | 820 | |
| Ober Heimenrüti | 114 | 1000 | 180 |
| Signau | 121 | 690 | |
| total | 121 | 2200 |
Stage 3 (25 August 2026): Signau - Burgdorf - Willisau
It had been a very stormy night and it was still raining when i set off. As all the restaurants between Signau and Schüpbach were closed, i set off on an empty stomach. In Schüpbach, the bridge over the Emme was under construction. The next bridge would have been at Emmenmatt, so i decided not to take the detour via Langnau and to rejoin the Heart Route straight ahead near Lauperswil. It was as i climbed westwards from there that i was able to take off my rain jacket. But it wasn’t until i’d passed through Birkhalden and Moosegg that i finally found a restaurant in Waldhäusern (not very modern but pleasant) where i could have a coffee and a croissant. The ride continued over the Hinteregg pass and then, very close by but new to me, the Fischerhubel pass. After a stretch along a forest track, i rejoined the tarmac just before the Blasen pass, which i thus approached via the ridge. And it was along the same ridge that i passed through Oberer Krautberg. After the descent to Arnisäge, i climbed towards Adlisberg, descended towards Walkringen, then climbed round the Leusenberg to reach Mänziwilegg. The next pass, Chrini, could be tackled on the descent. Heading north afterwards, i climbed again via Maiacker, before a long descent into the Lauterbach valley. Road 99 then climbed into the Pleerwald and passed through a junction of seven forest tracks, aptly named Siebenwegplatz. All that remained then was a short descent to Burgdorf. And by then, the sun was definitely out.
When i reached the Emme, i followed it (against the current) along a good gravel track as far as Rüegsauschachen. A little further on, at Lützelflüh, a steep climb took me up to Brandishub. It was then easy to tackle a series of passes along the ridges towards the north-east: Schnidersegg, Egg and Hegenegglücke. Then, north of Affoltern im Emmental: Eggerdingen, Häckligen, Lünisberg and Richisberg. There were again some fairly long sections on gravel here, but further on the roads were tarmacked. After the Linden pass (passing under a bridge), i reached a low point at Madiswil, in the Langete river valley. In the hills north of Huttwil, i passed Kappeli before reaching the Luthern valley and the canton of Lucerne. Between Zell and Willisau, my destination for the day, the route took me through more hills... and a short deviation.
| distance (km) | altitude (m) | climbing (m) | |
|---|---|---|---|
| Signau | 0 | 690 | |
| Emmenmatt | 4 | 650 | |
| Lauperswil | 6 | 660 | 10 |
| Hinterblindenbach | 9 | 840 | 180 |
| Mützlenberg | 10 | 810 | |
| Längholz | 11 | 860 | 50 |
| Aulennest | 12 | 840 | |
| Birkhalden | 14 | 930 | 90 |
| Moosegg | 15 | 950 | 20 |
| Hinteregg | 17 | 1000 | 50 |
| Fischerhubel | 18 | 1000 | |
| Blasenwald | 19 | 1020 | 20 |
| Blasen | 20 | 970 | |
| Kapfwald | 21 | 980 | 10 |
| Oberer Krautberg | 22 | 950 | |
| Arnisäge | 23 | 820 | |
| Dreier | 24 | 850 | 30 |
| Lugibächli | 25 | 820 | |
| Adlisberg | 26 | 890 | 70 |
| Zihl (Walkringen) | 28 | 690 | |
| Mänziwilegg | 33 | 910 | 220 |
| Chrini | 35 | 850 | |
| Schächli | 36 | 750 | |
| Maiacker | 37 | 810 | 60 |
| Mattenhof | 45 | 560 | |
| Siebenwegplatz | 47 | 610 | 50 |
| Schützenmatte | 50 | 540 | |
| Lützelflüh | 58 | 590 | 50 |
| Brandishub | 60 | 730 | 140 |
| Schnidersegg | 62 | 820 | 90 |
| Egg | 63 | 810 | |
| Schaufelbühl | 64 | 780 | |
| Hegenegglücke | 66 | 820 | 40 |
| Wydenhüsli | 68 | 840 | 20 |
| Eggerdingen | 70 | 790 | |
| Hohtannen | 71 | 760 | |
| Häckligen-Rehhalde | 72 | 830 | 70 |
| Häckligen | 73 | 790 | |
| Ferrenbergwald | 74 | 810 | 20 |
| Lünisberg | 77 | 720 | |
| Zelg | 78 | 740 | 20 |
| Richisberg | 78 | 690 | |
| Wydenbach | 81 | 630 | |
| Linden | 82 | 660 | 30 |
| Flösch (Rütschelen) | 85 | 580 | |
| Spiegelberg | 87 | 610 | 30 |
| Madiswil | 89 | 530 | |
| Grunholz | 92 | 690 | 160 |
| Auswil | 93 | 670 | |
| Kappeli (Auswil) | 94 | 690 | 20 |
| Hauelen (Gondiswil) | 97 | 640 | |
| Hügliweid | 100 | 740 | 100 |
| Zell | 104 | 590 | |
| Inner Stocki | 107 | 720 | 130 |
| Willisau | 112 | 560 | |
| total | 112 | 1780 |
Stage 4 (26 August 2026): Willisau - Sempach - Zug - Ringlikon
As Zug is the stage of the Route du Coeur closest to my home, that’s where i wanted to leave the official route to head home. So i only had a fairly short stretch left to cover from Willisau. Shortly after setting off, i had the chance to cross a (very small) new pass: the Wünschiswilerhöhi. Lovely weather, pleasant temperatures, and little traffic on these country roads – that was all I needed. As is often the case on Route 99, there were also a few gravel sections, but this time nothing too bad. From Buttisholz, the road climbed over the eastern shoulder of the Ruswilerberg, then descended towards Neuenkirch. I then turned north to pass through Sempach and along the shore of its lake, before heading generally eastwards again. More hills, and i then reached the Reuss valley, the lowest point of the day. To get to Hünenberg and then Lake Zug, i had to take several small detours due to roadworks. And so it was in Zug, officially on the 7th stage, that i left Route 99.
As the rest of the route took me closer to home, it was along familiar roads. Nothing in particular to mention, though the little Leiloch pass is worth noting whilst i’m at it. I finished the ride in the early afternoon. It had taken me along lots of little roads i wouldn’t otherwise have thought to take, and so had the great advantage of having very little traffic. For my liking, there were more than enough gravel tracks. But the main feature of the route was the large number of climbs – mostly not very long, but steep enough to really get the heart pumping.
| distance (km) | altitude (m) | climbing (m) | |
|---|---|---|---|
| Willisau | 0 | 560 | |
| Wünschiswilerhöhi | 5 | 610 | 50 |
| Stettenbach | 6 | 570 | |
| Tambach | 7 | 610 | 40 |
| Waldegg | 9 | 590 | |
| Schorewald | 12 | 620 | 30 |
| Soppestig | 14 | 600 | |
| St. Ulrich | 15 | 620 | 20 |
| Buttisholz | 17 | 560 | |
| Strick | 24 | 810 | 250 |
| Sellenboden (Neuenkirch) | 31 | 530 | |
| Neuhus | 32 | 560 | 30 |
| Sempach | 36 | 500 | |
| St. Anne | 40 | 610 | 110 |
| Hapfere | 41 | 590 | |
| Haltli | 42 | 610 | 20 |
| Leinacher | 43 | 590 | |
| Gundolinge | 44 | 610 | 20 |
| Urswil | 49 | 490 | |
| Reckenbrunnen | 50 | 530 | 40 |
| Hiltigbach (Eschenbach) | 53 | 450 | |
| Schwerzlen | 57 | 540 | 90 |
| Grossmatt | 63 | 400 | |
| Meisterwil | 64 | 460 | 60 |
| Bösch | 65 | 440 | |
| Hubel (Hünenberg) | 68 | 470 | 30 |
| Zug | 76 | 410 | |
| Bickensdorf | 81 | 440 | 30 |
| Leiloch | 88 | 670 | 230 |
| Diebis | 101 | 540 | |
| Ringlikon | 103 | 630 | 90 |
| total | 103 | 1140 |
PS / 30.9.2026



