- Must visit
Pinacoteca di Brera
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Cheapest price
$11
Average price
$166
Fastest journey
1 h 10 m
Average duration
1 h 12 m
Buses per day
22
Distance
84 km
The best way to find a cheap bus ticket from Locarno to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Locarno to Milan will cost around $166 if you buy it on the day, but the cheapest tickets can be found for only $11.
Of the 22 buses that leave Locarno for Milan on Mon, Jun 22, 22 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Jun 22 the direct buses cover the 84 km distance in an average of 1 h 12 m but if you time it right, some buses will get you there in just 1 h 10 m .
On Mon, Jun 22 the slowest buses will take 1 h 15 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
2495
2495
FlixBus
FlixBus
FlixBus
FlixBus
FlixBus
FlixBus
FlixBusOmio recommends booking the train as it is the most popular option from Locarno to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $9. For those with little time consider booking a bus which can get you there in 1h 40m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a bus costs an average of $9, and a train costs an average of $12.
Distance: 52 miles (84 km)
| Bus | Most popular Train | Driving |
|---|---|---|
$12 Average price Cheapest | $17 Average price | $83 Average price (fuel + tolls) |
2h 10m Average total duration Fastest 1h 40m Onboard + 30m Additional time* | 2h 20m Average total duration 1h 50m Onboard + 30m Additional time* | 1h 45m Average total duration (door-to-door) |
0.1 - 0.2kg CO2 emissions | 0.0 - 0.1kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Locarno to Milan:
A bus is $4 (€3) less than a train for this route with tickets for a train from Locarno to Milan costing on average $17 (€14).
Other travel options to Milan take longer:
Train takes on average 1h 50m.
You'll arrive about 5m sooner (1h 40m by bus vs 1h 45m by car) and save roughly $70 (€58) compared to fuel and tolls ($12 (€10) vs $83 (€68)). You also skip the drive itself — no traffic stress, no parking, and you can use the time to work, nap, or catch up on a series with the onboard Wi-Fi.
Direct coaches are operated by FlixBus, BlaBlaCar, Calanda Viaggi.
Driving is still worth considering if you're travelling with bulky luggage, need flexibility on departure times, or plan to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator GoOpti | Departure Time 12:00AM | Arrival Time 02:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $623 |
Operator GoOpti | Departure Time 01:00AM | Arrival Time 03:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $623 |
Operator GoOpti | Departure Time 02:00AM | Arrival Time 04:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $557 |
Operator GoOpti | Departure Time 03:00AM | Arrival Time 05:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $557 |
Operator GoOpti | Departure Time 04:00AM | Arrival Time 06:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $557 |
Operator GoOpti | Departure Time 05:00AM | Arrival Time 07:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $557 |
Operator FlixBus | Departure Time 05:15AM | Arrival Time 06:30AM | Duration 1h15 | Departure days Everyday | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 05:30AM | Arrival Time 06:10AM | Duration 0h40 | Departure days Fri | Cheapest price $10 |
Operator GoOpti | Departure Time 06:00AM | Arrival Time 08:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $549 |
Operator BlaBlaCar | Departure Time 06:30AM | Arrival Time 07:30AM | Duration 1h00 | Departure days Sun | Cheapest price $7 |
Operator GoOpti | Departure Time 07:00AM | Arrival Time 09:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $540 |
Operator BlaBlaCar | Departure Time 07:10AM | Arrival Time 08:10AM | Duration 1h00 | Departure days Sun | Cheapest price $7 |
Operator FlixBus | Departure Time 07:35AM | Arrival Time 09:10AM | Duration 1h35 | Departure days Everyday | Cheapest price $11 |
Operator GoOpti | Departure Time 08:00AM | Arrival Time 10:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $540 |
Operator BlaBlaCar | Departure Time 08:00AM | Arrival Time 09:10AM | Duration 1h10 | Departure days Thu | Cheapest price $8 |
Operator GoOpti | Departure Time 09:00AM | Arrival Time 11:15AM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $540 |
Operator GoOpti | Departure Time 09:15AM | Arrival Time 11:45AM | Duration 2h30 | Departure days Thu | Cheapest price $232 |
Operator FlixBus | Departure Time 09:15AM | Arrival Time 11:15AM | Duration 2h00 | Departure days Everyday | Cheapest price $10 |
Operator GoOpti | Departure Time 10:00AM | Arrival Time 12:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $540 |
Operator FlixBus | Departure Time 10:20AM | Arrival Time 11:35AM | Duration 1h15 | Departure days Everyday | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 10:40AM | Arrival Time 11:50AM | Duration 1h10 | Departure days Mon | Cheapest price $10 |
Operator GoOpti | Departure Time 10:45AM | Arrival Time 01:00PM | Duration 2h15 | Departure days Wed | Cheapest price $246 |
Operator GoOpti | Departure Time 11:00AM | Arrival Time 01:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $246 |
Operator BlaBlaCar | Departure Time 11:10AM | Arrival Time 12:10PM | Duration 1h00 | Departure days Tue | Cheapest price $13 |
Operator RegioJet a.s. | Departure Time 11:40AM | Arrival Time 01:00PM | Duration 1h20 | Departure days Sat | Cheapest price $11 |
Operator GoOpti | Departure Time 12:00PM | Arrival Time 02:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $246 |
Operator GoOpti | Departure Time 12:15PM | Arrival Time 02:30PM | Duration 2h15 | Departure days Sat | Cheapest price $254 |
Operator GoOpti | Departure Time 01:00PM | Arrival Time 03:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $246 |
Operator FlixBus | Departure Time 01:15PM | Arrival Time 03:45PM | Duration 2h30 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $13 |
Operator BlaBlaCar | Departure Time 01:30PM | Arrival Time 02:30PM | Duration 1h00 | Departure days Fri | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 01:40PM | Arrival Time 02:50PM | Duration 1h10 | Departure days Thu | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 01:50PM | Arrival Time 03:00PM | Duration 1h10 | Departure days Tue | Cheapest price $6 |
Operator GoOpti | Departure Time 01:50PM | Arrival Time 03:30PM | Duration 1h40 | Departure days Mon | Cheapest price $178 |
Operator GoOpti | Departure Time 01:55PM | Arrival Time 03:05PM | Duration 1h10 | Departure days Mon | Cheapest price $204 |
Operator BlaBlaCar | Departure Time 02:00PM | Arrival Time 03:10PM | Duration 1h10 | Departure days Fri | Cheapest price $8 |
Operator GoOpti | Departure Time 02:00PM | Arrival Time 04:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Thu, Fri, Sat | Cheapest price $178 |
Operator BlaBlaCar | Departure Time 02:10PM | Arrival Time 03:10PM | Duration 1h00 | Departure days Sun | Cheapest price $7 |
Operator BlaBlaCar | Departure Time 03:00PM | Arrival Time 04:10PM | Duration 1h10 | Departure days Sun | Cheapest price $4 |
Operator GoOpti | Departure Time 03:00PM | Arrival Time 05:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator BlaBlaCar | Departure Time 03:10PM | Arrival Time 04:30PM | Duration 1h20 | Departure days Mon | Cheapest price $13 |
Operator GoOpti | Departure Time 03:15PM | Arrival Time 05:30PM | Duration 2h15 | Departure days Tue | Cheapest price $195 |
Operator BlaBlaCar | Departure Time 03:20PM | Arrival Time 04:20PM | Duration 1h00 | Departure days Fri | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 03:40PM | Arrival Time 04:40PM | Duration 1h00 | Departure days Sun | Cheapest price $5 |
Operator BlaBlaCar | Departure Time 03:50PM | Arrival Time 04:30PM | Duration 0h40 | Departure days Tue | Cheapest price $6 |
Operator GoOpti | Departure Time 04:00PM | Arrival Time 06:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator FlixBus | Departure Time 04:15PM | Arrival Time 05:50PM | Duration 1h35 | Departure days Mon, Tue, Fri, Sat, Sun | Cheapest price $11 |
Operator FlixBus | Departure Time 04:20PM | Arrival Time 05:30PM | Duration 1h10 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $13 |
Operator BlaBlaCar | Departure Time 04:30PM | Arrival Time 05:10PM | Duration 0h40 | Departure days Mon, Tue, Thu, Fri | Cheapest price $4 |
Operator GoOpti | Departure Time 05:00PM | Arrival Time 07:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator BlaBlaCar | Departure Time 05:30PM | Arrival Time 06:50PM | Duration 1h20 | Departure days Tue | Cheapest price $10 |
Operator GoOpti | Departure Time 05:45PM | Arrival Time 08:00PM | Duration 2h15 | Departure days Wed | Cheapest price $206 |
Operator GoOpti | Departure Time 06:00PM | Arrival Time 08:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator Marino Autolinee | Departure Time 06:20PM | Arrival Time 08:40PM | Duration 2h20 | Departure days Sat | Cheapest price $35 |
Operator GoOpti | Departure Time 07:00PM | Arrival Time 09:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator FlixBus | Departure Time 07:05PM | Arrival Time 08:50PM | Duration 1h45 | Departure days Everyday | Cheapest price $16 |
Operator GoOpti | Departure Time 07:15PM | Arrival Time 09:30PM | Duration 2h15 | Departure days Fri | Cheapest price $253 |
Operator BlaBlaCar | Departure Time 07:30PM | Arrival Time 08:30PM | Duration 1h00 | Departure days Mon | Cheapest price $10 |
Operator FlixBus | Departure Time 07:40PM | Arrival Time 08:50PM | Duration 1h10 | Departure days Everyday | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 07:50PM | Arrival Time 09:00PM | Duration 1h10 | Departure days Thu | Cheapest price $10 |
Operator GoOpti | Departure Time 08:00PM | Arrival Time 10:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator Itabus | Departure Time 08:50PM | Arrival Time 10:30PM | Duration 1h40 | Departure days Mon, Thu, Fri, Sun | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 09:00PM | Arrival Time 09:40PM | Duration 0h40 | Departure days Mon | Cheapest price $8 |
Operator GoOpti | Departure Time 09:00PM | Arrival Time 11:15PM | Duration 2h15 | Departure days Tue, Wed, Thu, Fri, Sat | Cheapest price $232 |
Operator FlixBus | Departure Time 09:35PM | Arrival Time 11:05PM | Duration 1h30 | Departure days Everyday | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 09:40PM | Arrival Time 10:40PM | Duration 1h00 | Departure days Thu | Cheapest price $8 |
Operator GoOpti | Departure Time 10:00PM | Arrival Time 12:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Thu, Fri, Sat | Cheapest price $253 |
Operator BlaBlaCar | Departure Time 10:10PM | Arrival Time 11:20PM | Duration 1h10 | Departure days Wed | Cheapest price $12 |
Operator GoOpti | Departure Time 11:00PM | Arrival Time 01:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Thu, Fri, Sat | Cheapest price $253 |
The table below shows live departures for Locarno to Milan buses for today, Sunday, June 21. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus | 5:15 AM Lugano, Via Ciani | 1h15 | 6:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 7:35 AM Lugano, Via Ciani | 1h35 | 9:10 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:15 AM Lugano, Via Ciani | 2h00 | 11:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 10:20 AM Lugano, Via Ciani | 1h15 | 11:35 AM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 0 transfersDirect | |
FlixBus | 1:15 PM Lugano, Via Ciani | 2h30 | 3:45 PM Assago, Viale Milanofiori (Assago M2) | 0 transfersDirect | |
FlixBus | 1:15 PM Lugano, Via Ciani | 1h50 | 3:05 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 4:15 PM Lugano, Via Ciani | 1h35 | 5:50 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 4:20 PM Lugano, Via Ciani | 1h10 | 5:30 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 7:05 PM Arbedo-Castione, Via Stazione (FS) | 1h45 | 8:50 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 7:40 PM Lugano, Via Ciani | 1h10 | 8:50 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2495 | 8:50 PM Lugano, Via Ciani | 1h40 | 10:30 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2495 | 8:50 PM Lugano, Via Ciani | 2h30 | 11:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 9:35 PM Lugano, Via Ciani | 1h30 | 11:05 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare train and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Buses from Locarno to Milan run on average 12 times per day, taking around 1h 40m. Cheap bus tickets for this journey start at $9 (€7) if you book in advance.
There are 12 buses per day. The earliest bus runs at 00:50, the last at 23:55. The fastest bus covers the 52 miles (84 km) distance in 1h 10m.
Distance 52 miles (84 km) |
Average bus duration 1h 40m |
Cheapest ticket price $9 (€7) |
Buses per day 12 |
Direct buses 12 |
Fastest bus 1h 10m |
First bus 12:50 AM |
Last bus 11:55 PM |
Cheapest Month Mar |
Cheapest Day Tue |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sat |
Best time to book 4 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
Milan’s premier art gallery, known for Italian masterpieces by Raphael, Caravaggio, and Mantegna in the historic Brera district.
Museum entry for Leonardo’s The Last Supper, one of the world’s most famous artworks and a priority booking site in Milan.
Major museum of 20th-century Italian art facing Piazza del Duomo, with strong Futurist collections and rooftop views.
Milan’s canal district, known for waterside walks, lively atmosphere, and highly photogenic bridges and reflections.
Charming central neighborhood with elegant streets, galleries, boutiques, and a classic Milanese artistic atmosphere.
Milan’s main square and the city’s most important urban landmark, ideal for first-time visitors and classic views.
Milan’s signature saffron risotto, rich with butter and cheese, prized for its golden color and elegant flavor.
A traditional breaded veal cutlet, fried until crisp. It is one of the city’s most iconic and historic main dishes.
Braised veal shank, often served with risotto alla Milanese. It is a classic Lombard comfort dish with deep, slow-cooked flavor.
Iconic casual spot famous for panzerotti, beloved by locals and visitors for quick, affordable bites near the Duomo.
Well-known modern Milanese restaurant celebrated for refined local dishes such as mondeghili and risotto in a stylish setting.
Historic traditional trattoria serving classic Milanese and Lombard dishes in an old-world, elegant atmosphere.
Prices are high by Italian standards, especially for hotels and central dining, but budget cafés and aperitivo deals help control daily costs.
Tipping is modest. Service may be included or a coperto charged. Round up or leave 5-10% for very good restaurant service; small change for taxis and cafés is enough.
Official public transport app
Orio Al Serio Airport, Bergamo -> Milano Centrale
Find answers to the most common questions about traveling from Locarno to Milan by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Most Locarno to Milan buses use the Lugano, Via Ciani to Milano, Autostazione Lampugnano station pair, with some services arriving at Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria). Use this guide to compare Locarno and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Free Wi-Fi. ATMs are located near the main entrance.
Ticket office support is available at Milano, Autostazione Lampugnano.
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
Milano, San Donato - Settore B (Viale Giuseppe Impastato) is 6 km from Milan city centre. Public transport options include:
Milano, San Donato - Settore B (Viale Giuseppe Impastato) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
Here are some other resources that might have the information you need