In July 2023 I had the opportunity to spend a week in Bormio, Italy and go road biking in the Alps. The northern region of Lombardy is filled with iconic climbs and history.

For reference, road cycling climbs are often characterized by several properties:

  1. Altitude - the difficulty in riding increases as altitude increases due to the lack of oxygen. For example, beyond 2500m there is ~25% less oxygen available compared to sea level.
  2. Gradient - the average slope of the climb. Inclines ranging from 3-5% are considered mild, 5-7% moderate and 7%+ is generally considered difficult.
  3. Distance - the majority of climbs are between 10-40km from beginning to summit.

The Tour de France provides a classification for climbs, going from Category 4 (easiest) to Category 1 (hardest), with a special category HC (Hors Catégorie) reserved for climbs originally “unpassable by car”.

Day 1: Lago di Cancano

28.32km, 762m elevation gain (Category 2)

To warm-up and test the rental bike, a local ride up to Lago di Cancano was worthwhile. The ride was relatively short but it featured a Category 2 climb reaching 1938m elevation with a 6.9% grade. Notably, even the easiest ride around Bormio is steeper and nearly twice the elevation gain of Bear Mountain in NY.


Day 2: Stelvio Pass + Umbrail Pass

105.14km, 3163m elevation gain (2x HC climbs)

The Stelvio Pass is the highest elevation mountain pass in the Eastern Alps (2757m tall), and the 2nd overall standing 7m below France’s Col de l’Iseran. It was built in the 1800s by the Austrian empire to connect Lombardy with the rest of Austria. It is featured regularly as the Cima Coppi of the Giro D’Italia.

There are three ways to get to the summit - riding the Stelvio from Bormio (Italy), Prato (Italy), or Umbrail Pass from Val Müstair (Switzerland).

Figure 2.1: In this ride, I climbed from Bormio, descended Umbrail Pass into Switzerland, then went back up from Prato to the summit and then descended back to Bormio.

Aside from a short section with 13-14% slope it was fairly managable. I managed to do it without stopping except for a small photo break.

After doing 40 hairpin turns, taking a left-turn on the SS38 will lead to the Umbrail Pass which is the highest elevation mountain pass in Switzerland descending down to the region of Val Müstair. After arriving at Val Müstair it was flat for a short period, I ate a quick sandwhich and then prepared for the final monster which is the 1893m climb to the Stelvio summit from Prato.

In combination with fatigue from the earlier climb, I found this HC climb absolutely brutal.

Things took a turn for the worse at around 14km into the climb once reaching the forest area where gradients hovered around 8-10% bend after bend. After passing 2000m elevation the altitude really sunk in making it even more miserable, and my right knee was hurting on each pedal stroke. Unfortunately, I had no option but to continue because my hotel was on the other side of the mountain…

Getting out of the forest and seeing the hairpin turns spiraling up to the Stelvio peak made summitting seem like an unachievable feat in the moment. Even pushing 150 watts (a relatively light power output for me) was difficult due to fatigue and lack of oxygen. Though at the end, after completing the 48th bend and 3.5 hours of suffering to reach the summit, words cannot describe the experience of joy (and relief).


Day 3: Sondalo

42.46km, 550m elevation gain

This was a recovery day, featuring an easy ride to Sondalo and back through the country roads. It was relatively flat, with one Category 4 climb (7.8% with 101m elevation gain) but otherwise easy.

Day 4: Bormio 2000

17.3km, 577m elevation gain (HC -> Category 2)

Originally Day 4 was supposed to be Gavia pass, but unfortunately there was a thunderstorm scheduled at noon. The Bormio 2000 climb was nearby, which was also an HC climb with an 8.7% average gradient and 817m elevation gain, so that was promising. Sadly, the weather took a turn for the worse even earlier so I had to turn around a couple of minutes before reaching the summit.

Luckily I got back to the hotel minutes before the storm started, so that was good.

Day 5: Passo di Gavia

51.82km, 1422m elevation gain (HC climb)

The weather improved in Day 5 so took an attempt at Gavia Pass - the 10th highest elevation pass in the Alps reaching 2621m elevation. It connects the Sondrio in the north with Ponte di Legno in the south.

The climb wasn’t overly difficult, starting off rather mild until Santa Caterina. Afterwards, it became more challenging because of short pitches that were often 10-14%. As a prize there was a nice view at the end :)

Recap & Forward Look

These were an enjoyable set of rides, and the views were worth the pain. If I were to do it again, I would take into consideration:

  1. Bringing my own road bike - firstly the rental was expensive and also worse quality than my personal road bike (Cervélo S5). Second, it put a lot of pressure to ride everyday to make the most of the rental when I could have hiked on off days to recover better from rides.
  2. Attempt Mortirolo - while not as high elevation as the other climbs, Mortirolo is another one of the famous climbs that is often considered extremely difficult due to its ~10.5% steep gradient. Lance Armstrong said in an interview that it was the hardest climb he ever did.
  3. Study the descents beforehand - during the descent from Bormio 2000 I went into a hidden hairpin turn at ~52km/h and skidded off the road (luckily didn’t fall off a cliff…) - it is difficult to memorize the map but knowing key corners can help to avoid excessive or lack of braking before corners.

Next year the plan is to attempt Mount Evans and Pike’s Peak in Colorado. They are the highest (and 2nd highest) elevation paved mountain peaks in North America surpassing 4000m altitude, so it is an exciting challenge to train and look forward to!

YouTube Descents

I recorded descents for all the climbs and overlayed the Strava data - enjoy.

Day 2 Descents (Stelvio + Umbrail Pass)



Day 5 Descent (Gavia Pass)