Best Road Cycling Routes in Milan
Five road cycling routes from Milan with distance, elevation and free GPX, from the Navigli plain to Alpe di Neggia.

Milan sits on a flat plain, so you'd expect its road rides to be easy to read. They aren't always. The same loop can feel like a gentle spin one morning and a slog the next, and the difference is usually wind plus how much climbing is hidden in the route.
This guide covers the five road routes in the Tailwind GPS Milan library. Each has a published distance and total ascent, and you can open any of them on the map and take the GPX. Routes are ranked hour by hour using wind, rain and temperature along the ride at a 25 km/h pace.
The five Milan routes at a glance
| Route | Distance | Total ascent | Ascent per km |
|---|---|---|---|
| Three Navigli loop | 84.3 km | 125 m | about 1.5 m |
| Martesana loop | 65.7 km | 147 m | about 2.2 m |
| Lake Lugano loop | 52.8 km | 379 m | about 7.2 m |
| Lake Iseo loop | 63.9 km | 493 m | about 7.7 m |
| Alpe di Neggia loop | 64.0 km | 1,644 m | about 25.7 m |
Ascent per kilometre is total ascent divided by distance. It's a quick way to compare routes of different lengths, and it shows how far Alpe di Neggia sits from the rest.
Navigli and Martesana suit easy days
The Three Navigli loop, between Milan and Pavia, is the longest at 84.3 km and climbs only 125 m. Martesana is 65.7 km with 147 m. Pacing is simple: pick a speed you can hold.
Low ascent doesn't mean low effort. On flat roads a headwind that lasts for 30 km never lets up. The Navigli loop can be the hardest ride of the week on a windy day. If you want a relaxed outing, check the wind before you look at the profile.
The lake loops reward steady pacing
Lake Lugano is 52.8 km with 379 m of ascent. Lake Iseo is 63.9 km with 493 m. Both climb roughly seven to eight metres per kilometre: more than the plain loops, and not one huge effort.
Go a little easier on the early rises and you'll still have something left near the end. These loops are a good step up from the flatter routes without a full climbing day. A headwind on the same rolling stretch turns each small rise into a grind.
Alpe di Neggia is the climbing day
At 64 km, Alpe di Neggia is almost the same length as the Lake Iseo loop, and it climbs 1,644 m, more than three times as much. The distance looks friendly. The ascent is the day.
- Treat it as a climbing day, not a quick 60 km. Allow more time than the distance suggests.
- Start the climb at a pace you could hold for a long time.
- Take more food and drink than you would for a flat ride of the same length.
- Rain and a strong wind make the descent less pleasant, so wait for a decent forecast.
How to read elevation before you download the GPX
Total ascent is the sum of every metre you climb. It isn't the highest point, and it isn't the steepest gradient. Two routes can share the same total and feel different if one spreads it out and the other packs it into one climb.
- Compare total ascent with distance. Under about 3 m per km is flat. Around 7 to 8 m per km is rolling. Much higher means real climbing.
- Look at the shape of the profile on the map.
- Check the distance and ascent before you load the GPX.
- A head unit may report a slightly different ascent, because devices smooth elevation differently.
The route planning checklist explains why distance and climbing don't tell the whole story.
Why the same watts feel different in a headwind
Most of the power you produce on flat ground goes into pushing air. Ride at 25 km/h into a 15 km/h headwind and the air hits you at 40 km/h. Drag force scales with the square of airspeed, so the aerodynamic part of the effort rises sharply if you try to hold the same ground speed.
A forecast at your front door doesn't say what the wind does 30 km away, or which way you'll be facing. Tailwind GPS samples the forecast along the route. Wind relative to your route explains the idea. If you want the watts behind a given speed, the wattage calculator uses the same physics for one steady effort.
Compare departure hours
Pick the route, then pick the hour. On the Milan route hub you can compare departure hours and open any route for its distance, elevation and GPX. Times are local to Milan.
- Flat and relaxed: Three Navigli or Martesana, ideally with the wind kinder on the way home.
- Steady endurance: Lake Lugano or Lake Iseo.
- Big day: Alpe di Neggia, with time, food and a decent forecast.
Open the Milan routes
Five loops with elevation, free GPX and a score for each departure hour.

Free forever on 3 routes
Enjoyed that? Put it to work on your next ride.
- Every route scored for wind, rain and temperature
- The best hour to ride, up to 3 days out
- Strava routes in with one tap
Free forever on 3 routes. No card.
Related guides

Best Road Cycling Routes in Copenhagen
Five Copenhagen road loops, from the flat Bryggebroen bridges to Strandvejen, plus how to turn one into an out-and-back and download the GPX.
·3 min read

Best Road Bike Routes in Seattle
Five road bike loops near Seattle with distances, climbing and free GPX downloads from the Tailwind GPS library.
·2 min read

Best cycling routes near me: how to find, score and navigate
Nearby is not the same as best. Find cycling routes near you, score the hour, then start in-browser turn-by-turn in Tailwind GPS — or export GPX to a head unit.
·8 min read
