Quick Answer: Best Way from Lake Maggiore to Malpensa Airport
Best overall option: The SADEM direct bus from Stresa (€15 / $16.20, 1h 15min) or Verbania (€18 / $19.44, 1h 30min) to Malpensa Airport. It is the cheapest, fastest, and most convenient — no transfers, free luggage, and drops you right at Departures.
Fastest option: Taxi / private transfer (€120–€170 / $130–$184, 50min–1h 10min) for groups, late-night arrivals, or heavy luggage.
Budget alternative: Train via Milano Centrale (€23–€26 / $25–$28, 2–2.5h) if you already hold a rail pass or prefer rail travel — but note you must change stations in Milan.
🚆 Train: Regional Train + Malpensa Express (via Milan)
Taking the train from Lake Maggiore to Malpensa Airport requires two legs: a regional train from your lakeside station to Milan, followed by the dedicated Malpensa Express from Milano Centrale or Milano Porta Garibaldi. While not direct, this option is popular among rail enthusiasts and those with a Eurail / Interrail pass.
Option A: Stresa → Milano Centrale → Malpensa Express (Recommended)
- Leg 1: Regional train Stresa → Milano Centrale – 55 min, ~€10.50 ($11.34), 2–3 departures per hour.
- Leg 2: Malpensa Express Milano Centrale → Malpensa Airport (T1 & T2) – 50 min, €13 ($14.04), every 30 min.
- Total time: ~2 hours (including 15–20 min transfer at Milano Centrale).
- Total cost: ~€23.50 ($25.38).
Option B: Verbania (Pallanza) → Milano Centrale → Malpensa Express
- Leg 1: Regional train Verbania-Pallanza → Milano Centrale – 1h 15min, ~€12.50 ($13.50).
- Leg 2: Same Malpensa Express as above – 50 min, €13 ($14.04).
- Total time: ~2h 30min.
- Total cost: ~€25.50 ($27.54).
Option C: Arona → Milano Porta Garibaldi → Malpensa Express
- Leg 1: Regional train Arona → Milano Porta Garibaldi – 45 min, ~€8.50 ($9.18).
- Leg 2: Malpensa Express from Milano Porta Garibaldi – 50 min, €13 ($14.04).
- Total time: ~1h 50min (fastest train option).
- Total cost: ~€21.50 ($23.22).
Important Train Details
| Route | Total Time | Total Cost (€) | Total Cost ($) | Transfers |
|---|---|---|---|---|
| Stresa → Milano C.le → MXP | ~2h 00min | €23.50 | $25.38 | 1 (Centrale) |
| Verbania → Milano C.le → MXP | ~2h 30min | €25.50 | $27.54 | 1 (Centrale) |
| Arona → Milano Porta G. → MXP | ~1h 50min | €21.50 | $23.22 | 1 (Porta Garibaldi) |
Luggage note: Regional trains have open luggage racks; Malpensa Express offers dedicated luggage areas. No size limits on either, but keep bags manageable for the transfer in Milan.
Ticket tips: Buy regional tickets via Trenitalia or at station kiosks. Malpensa Express tickets are available at Malpensa Express official site — book online for a €1 discount. Eurail passes cover the regional leg but not the Malpensa Express (€13 supplement).
🚌 Direct Bus (SADEM) – Best Value & Most Convenient
The SADEM direct bus is the most popular choice among travelers going from Lake Maggiore to Malpensa Airport. It is cheaper than the train, faster door-to-door, and requires zero transfers. Buses run daily with multiple departures.
Route: Stresa → Malpensa Airport (T1 & T2)
- Departure point: Piazzale Martiri (Stresa ferry terminal).
- Arrival: Malpensa Terminal 1 (first) then Terminal 2.
- Duration: 1 hour 15 minutes.
- Ticket price: €15 ($16.20) online / €17 ($18.36) on board.
- Frequency: 6–8 departures per day (approx. every 2 hours, starting from ~6:00 AM).
Route: Verbania (Pallanza) → Malpensa Airport
- Departure point: Verbania-Pallanza (Piazzale Flaim).
- Arrival: Malpensa Terminal 1 & 2.
- Duration: 1 hour 30 minutes.
- Ticket price: €18 ($19.44) online / €20 ($21.60) on board.
- Frequency: 4–6 daily departures.
Route: Arona → Malpensa Airport (via Stresa)
- Departure point: Arona train station forecourt.
- Duration: ~1 hour (bus meets the Stresa bus at the junction).
- Ticket price: €13 ($14.04) online.
Bus Features & Tips
| Feature | Details |
|---|---|
| Luggage | Free underfloor luggage hold – no weight limit, max 2 suitcases + 1 carry-on per person. |
| Seating | Reclining seats with seat belts, air conditioning, no toilet on board (rest stop at autogrill). |
| Booking | Highly recommended at SADEM official website – online tickets are cheaper and guarantee a seat. |
| Check-in | Show digital ticket on phone or printed copy. Arrive 10 min before departure. |
| Night service | No night buses – last bus from Stresa departs ~7:30 PM. For late arrivals, take a taxi. |
Why choose SADEM? It's the cheapest and most straightforward option. No navigating Milan's stations, no platform changes, no risk of missing your connection. The bus drops you directly at the Departures entrance of Malpensa.
🚕 Taxi & Private Transfer – Door-to-Door Comfort
A taxi or private car is the most flexible and time-efficient way to reach Malpensa from Lake Maggiore. It is significantly more expensive than public transport, but ideal for groups, families, late-night departures, or heavy luggage.
Estimated Fares (as of 2025)
| Pickup Location | Approx. Fare (€) | Approx. Fare ($) | Travel Time |
|---|---|---|---|
| Stresa | €120–€150 | $130–$162 | 50 min |
| Verbania (Pallanza) | €140–€170 | $151–$184 | 1h 05min |
| Arona | €100–€130 | $108–$140 | 40 min |
| Baveno | €125–€155 | $135–$167 | 55 min |
When to choose a taxi:
- Flight departs before 8:00 AM (first bus arrives ~7:15 AM).
- You are traveling with 3+ people (cost per person becomes comparable to train).
- You have more than 2 large suitcases or sports equipment.
- You are staying in a small town without direct bus service (e.g., Cannobio, Luino, Laveno).
Recommended booking platforms:
- Welcome Pickups – fixed prices, meet & greet, flight tracking included.
- Suntransfers – reliable shared and private options for Lake Maggiore area.
- Taxi Click – book licensed taxis in advance with fixed rates.
Important: Always book in advance for airport transfers. Metered taxis on the street may charge extra for luggage, night hours (22:00–6:00), and holidays. Pre-booked private transfers guarantee a fixed price with no surprises.
✈️ Air Travel Considerations: Flying from Malpensa (MXP)
Can you fly directly from Lake Maggiore to Malpensa? No — the distance is only 55–70 km, so there are no commercial flights between them. However, once you reach Malpensa Airport (via bus, train, or taxi), you can connect to domestic and international flights across Europe and beyond.
Domestic Destinations from Malpensa (MXP)
- Rome (FCO) – 1h 15min, from €39 ($42) with ITA Airways or Ryanair.
- Naples (NAP) – 1h 25min, from €35 ($38) with EasyJet or Wizz Air.
- Palermo (PMO) – 1h 40min, from €44 ($48) with Ryanair.
- Catania (CTA) – 1h 50min, from €49 ($53) with Ryanair.
- Bari (BRI) – 1h 30min, from €41 ($44) with ITA Airways.
- Alghero (AHO) – 1h 20min, from €33 ($36) with Ryanair.
How to Reach MXP from Lake Maggiore for Your Flight
All the ground transport options described in this article (bus, train, taxi) are designed to get you to Malpensa's terminals. Plan to arrive at the airport 2 hours before a domestic flight and 3 hours before an international flight.
| Transport Mode | Time to MXP | Cost (€) | Best For |
|---|---|---|---|
| SADEM bus | 1h 15min–1h 30min | €15–€18 | Budget travelers, direct route |
| Train via Milan | 2h–2h 30min | €21–€26 | Rail pass holders, flexible schedule |
| Taxi / private car | 50min–1h 10min | €120–€170 | Early/late flights, groups, comfort |
Tip: If you are flying to a domestic destination, consider whether departing from Milan Linate (LIN) or Bergamo (BGY) might be closer. From Lake Maggiore, Malpensa is still the most accessible major airport, but Linate is ~1h 40min by car and Bergamo ~2h by car. Check flight options at Malpensa official airport website.
💶 Cost & Ticket Comparison Table – All Options at a Glance
Use this table to compare every possible transfer from Lake Maggiore (Stresa reference point) to Malpensa Airport. Best value = SADEM bus. Fastest = taxi. Most flexible = train.
| Transport Mode | Total Time | Cost (€) | Cost ($) | Transfers | Best For |
|---|---|---|---|---|---|
| 🚌 SADEM Bus (Stresa → MXP) | 1h 15min | €15 | $16.20 | 0 | ⭐ Best overall |
| 🚌 SADEM Bus (Verbania → MXP) | 1h 30min | €18 | $19.44 | 0 | Budget from Verbania |
| 🚆 Train (Arona → Porta Garibaldi → MXP) | 1h 50min | €21.50 | $23.22 | 1 | Fastest rail option |
| 🚆 Train (Stresa → Milano C.le → MXP) | 2h 00min | €23.50 | $25.38 | 1 | Rail pass holders |
| 🚆 Train (Verbania → Milano C.le → MXP) | 2h 30min | €25.50 | $27.54 | 1 | Scenic route |
| 🚕 Taxi (Stresa → MXP) | 50min | €120–€150 | $130–$162 | 0 | Groups, early/late, comfort |
| 🚕 Taxi (Verbania → MXP) | 1h 05min | €140–€170 | $151–$184 | 0 | Premium door-to-door |
💡 Money-saving tips:
- Book SADEM bus tickets online at least 24h in advance — save €2–€3 per ticket.
- Buy Malpensa Express tickets online (official site) for a €1 discount.
- If you have a Eurail Pass, the regional train leg is free — you only pay the €13 Malpensa Express supplement.
- For groups of 3–4, a taxi can cost less per person than the train (€40–€50/pp vs €23–€26/pp).
- Never buy bus or train tickets from third-party scalpers — use only official channels.
🧳 Traveler Tips & Local Know-How: Navigating Lake Maggiore → Malpensa
After helping hundreds of travelers make this journey, here are the real-world tips that make the difference between a smooth transfer and a stressful one.
1. Baggage Strategy: Use Takkyubin (Luggage Forwarding)
If you're staying in a hotel in Stresa or Verbania, ask the front desk about baggage forwarding to Malpensa. Companies like Pony Express and Spediamo offer same-day luggage delivery to the airport for €25–€35 ($27–$38). You travel light and pick up your bags at the airport's luggage storage office. This is a game-changer for travelers with multiple suitcases or those planning a day in Milan en route.
2. The Milano Centrale Platform Shift
When taking the train, you must walk from the regional train platforms (usually tracks 1–6) to the Malpensa Express platforms (tracks 1–3 at the far end). Allow at least 15 minutes for the transfer — the station is large and has stairs. If you have mobility issues, use the elevators near the information desk. Pro tip: Exit the regional train on the left side (facing Milan) to land closer to the underpass.
3. Traffic Warning: A8 / A26 Motorway Delays
The A8 Milan–Varese motorway and the A26 branch to Malpensa are notorious for peak-hour congestion (7:30–9:30 AM and 4:30–7:00 PM on weekdays). If you take a taxi during these hours, add 20–30 minutes to the journey. The SADEM bus uses the same roads but has priority lanes near the airport — a slight advantage.
4. Golden Week / High Season Alert
During Easter, August (Ferragosto), and Christmas, buses and trains sell out days in advance. Book your bus ticket at least 1 week ahead during these periods. Taxis will also surge — pre-book with a fixed-price service like Welcome Pickups to avoid dynamic pricing.
5. The Lake Taxi Boat Connection
If you're staying on the eastern shore of Lake Maggiore (e.g., Laveno, Maccagno, Luino), the fastest way to reach a bus or train connection is often the ferry to Verbania or Stresa. Check the Navigazione Laghi ferry schedule to align with your ground transport. Ferries run about every 30–60 minutes in summer.
6. Last-Minute Ticket Buying
The SADEM bus driver accepts credit cards (Visa/Mastercard) but not cash on board. If you haven't booked online, bring a card. Train tickets can be bought at the station's Trenitalia self-service kiosks, which accept both cash and card.
Quick Reference: Departure Time by Flight Time
| Flight Departure Time | Recommended Transport | Leave Lake Maggiore By |
|---|---|---|
| Before 8:00 AM | Taxi / private car | 5:30–6:00 AM (Stresa) |
| 8:00 AM – 12:00 PM | SADEM bus (first bus 6:00 AM) | 6:00–6:30 AM |
| 12:00 PM – 6:00 PM | Bus or train | 3–4 hours before flight |
| After 6:00 PM | Bus (last bus ~7:30 PM) or taxi | Check bus schedule first |
❓ Frequently Asked Questions: Lake Maggiore to Malpensa Airport
1. Is there a direct train from Lake Maggiore to Malpensa Airport?
No. There is no direct train. You must take a regional train from Stresa, Verbania, or Arona to Milan (Centrale or Porta Garibaldi), then transfer to the Malpensa Express. Total journey time is 2–2.5 hours. The SADEM direct bus is the only one-seat ride from the lake to the airport.
2. How much is a taxi from Lake Maggiore to Malpensa Airport?
A taxi from Stresa costs €120–€150 ($130–$162) and takes about 50 minutes. From Verbania, expect €140–€170 ($151–$184) and 1 hour 5 minutes. Fares vary by season, luggage, and time of day. Always confirm the price before starting the ride.
3. What is the cheapest way to get from Lake Maggiore to Malpensa Airport?
The SADEM direct bus from Stresa (€15 / $16.20) or Verbania (€18 / $19.44) is the cheapest option. The train via Milan costs €21.50–€25.50 ($23–$28) and requires a transfer. Taxis are the most expensive.
4. How long does it take to get from Lake Maggiore to Malpensa Airport?
Travel times vary: Bus: 1h 15min (Stresa) to 1h 30min (Verbania). Train: 1h 50min (Arona) to 2h 30min (Verbania). Taxi: 50 min (Stresa) to 1h 10min (Verbania). Always budget extra time for traffic or delays.
5. Can I use the Malpensa Express from Lake Maggiore?
Not directly. The Malpensa Express departs from Milano Centrale and Milano Porta Garibaldi. You need to take a regional train from Lake Maggiore to one of those stations first. The combined ticket costs €21.50–€25.50, depending on your starting point.
6. Is there a bus from Stresa to Malpensa Airport?
Yes. SADEM runs direct buses from Stresa (Piazzale Martiri) to Malpensa Airport (Terminal 1 and 2). The journey takes 1 hour 15 minutes, and tickets cost €15 ($16.20) online or €17 ($18.36) on the bus. Check the SADEM website for the current schedule.
7. What is the best way to get to Malpensa Airport early in the morning from Lake Maggiore?
For flights departing before 9:00 AM, a taxi or private transfer is the most reliable option. The first SADEM bus from Stresa leaves around 6:00 AM and arrives at 7:15 AM — suitable for flights after 9:00 AM. Trains are less convenient for early departures due to limited connections before 6:00 AM.
8. How far is Lake Maggiore from Malpensa Airport?
The distance from Stresa (central Lake Maggiore) to Malpensa Airport is about 55 km (34 miles). From Verbania it is about 70 km (43 miles), and from Arona about 45 km (28 miles). By road, the drive takes 40 minutes to 1 hour 10 minutes depending on traffic and exact origin.