Smart route

Cheaper way: San Francisco → Milan

flight + rail alternative

Flying SFO → Milan via Bergamo (BGY) with a 60-minute rail connection to Milano Centrale yields a verified arbitrage of $443 versus the primary Malpensa (MXP) direct fare. The Bergamo–Milan rail shuttle runs every 30 minutes at €5 one-way, comfortably inside the layover safety buffer.

San FranciscoBGYBGYalt airportMilanvia rail
Depart
Return
Guests

We may earn a commission at no extra cost to you.

Affiliate disclosure: We may earn a commission if you book via our links. Learn how TripRoute works. Prices shown are live on Kayak at click time.

How this routing works
  1. 1. Direct flight — SFO → MXP: the nonstop most travelers default to.
  2. 2. Alt flight — into BGY instead: secondary airports are often served by lower-cost carriers with cheaper fares.
  3. 3. Rail connection — BGY → Milan: a short train ride closes the gap to the city you actually want.

Whether the combo beats the nonstop depends on live fares — compare both legs plus the direct flight on Kayak before booking.

Is it worth it?
The connection window is 90 min — enough time to deplane, collect bags (if checked) and catch the rail. If you travel light, this can be the cheaper way to reach Milan; if the alt flight is delayed, the rail ticket is the risk.

Before you book this

  • • Travel carry-on only — checked bags add time and can blow the connection window.
  • • Check the LCC's baggage policy on the alt flight (a personal item is usually free).
  • • Book the rail ticket in advance — walk-up fares can erase the savings.
  • • Confirm the rail runs late enough for evening arrivals.
Get alerted on bigger savings

Kayak can notify you when San Francisco → Milan fares drop — set a free alert.

Track it on Kayak — free price alertsSet alert

More cheap alternatives

Data: OpenFlights + TripRoute intermodal route analysis (fares not stored — live on Kayak)
View deal
No booking fees

Affiliate link to Kayak — we may earn a commission at no extra cost to you.