- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Cheapest price on Sep 04
$10
Average ticket price on Sep 04
$157
Fastest journey on Sep 04
1 h 10 m
Average journey duration on Sep 04
1 h 10 m
Buses on Sep 04
23
Distance
63 km
The best way to find a cheap bus ticket from Lugano to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Lugano to Milan will cost around $157 if you buy it on the day, but the cheapest tickets can be found for only $10.
On Fri, Sep 04, we found 23 buses from Lugano to Milan, including 23 direct services.
On Fri, Sep 04 the direct buses cover the 63 km distance in an average of 1 h 10 m but if you time it right, some buses will get you there in just 1 h 10 m .
On Fri, Sep 04 the slowest buses will take 1 h 10 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.
4744
4740
FlixBus
FlixBus
FlixBus
4744
4740
FlixBus
FlixBus
Omio recommends booking the train as it is the most popular option from Lugano to Milan among Omio's users. If you are prioritising price, take the bus, with an average ticket price of $13 For those with little time, consider booking a train, which has an average total journey time of 1h 54m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.0 - 0.1kg. Average ticket prices depend on the travel mode: a bus costs an average of $13, while a train costs an average of $35.
Distance: 39 miles (63 km)
| Bus | Most popular Train | Driving |
|---|---|---|
$13 Average price Cheapest | $35 Average price | $86 Average price (fuel + tolls) |
1h 57m Average total duration 1h 27m Onboard + 30m Additional time* | 1h 54m Average total duration Fastest 1h 24m Onboard + 30m Additional time* | 1h 12m 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 Lugano to Milan:
A bus is $23 (€18) less than a train for this route with tickets for a train from Lugano to Milan costing on average $35 (€29).
Other travel options to Milan take longer:
Bus takes on average 1h 27m.
Tickets start at around $13 (€10) compared to roughly $86 (€70) in fuel and tolls — a saving of about $74 (€60). The journey takes 1h 27m versus 1h 12m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by FlixBus, BlaBlaCar Bus, BlaBlaCar, Infobus, Marino Autolinee.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility 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 Mon, Tue, Wed, Sat, Sun | Cheapest price $188 |
Operator BlaBlaCar | Departure Time 12:50AM | Arrival Time 01:00AM | Duration 0h10 | Departure days Fri | Cheapest price $5 |
Operator GoOpti | Departure Time 01:00AM | Arrival Time 03:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator GoOpti | Departure Time 02:00AM | Arrival Time 04:30AM | Duration 2h30 | Departure days Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator GoOpti | Departure Time 03:00AM | Arrival Time 05:30AM | Duration 2h30 | Departure days Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator GoOpti | Departure Time 04:00AM | Arrival Time 06:30AM | Duration 2h30 | Departure days Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator GoOpti | Departure Time 05:00AM | Arrival Time 07:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator FlixBus | Departure Time 05:15AM | Arrival Time 06:30AM | Duration 1h15 | Departure days Everyday | Cheapest price $12 |
Operator GoOpti | Departure Time 06:00AM | Arrival Time 08:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator GoOpti | Departure Time 06:25AM | Arrival Time 07:40AM | Duration 1h15 | Departure days Fri | Cheapest price $257 |
Operator BlaBlaCar | Departure Time 06:30AM | Arrival Time 07:30AM | Duration 1h00 | Departure days Wed | Cheapest price $8 |
Operator BlaBlaCar | Departure Time 06:40AM | Arrival Time 07:20AM | Duration 0h40 | Departure days Mon, Tue, Wed, Thu | Cheapest price $4 |
Operator GoOpti | Departure Time 07:00AM | Arrival Time 09:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 07:00AM | Arrival Time 07:50AM | Duration 0h50 | Departure days Mon | Cheapest price $6 |
Operator FlixBus | Departure Time 07:35AM | Arrival Time 09:10AM | Duration 1h35 | Departure days Everyday | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 07:50AM | Arrival Time 08:10AM | Duration 0h20 | Departure days Thu, Fri | Cheapest price $4 |
Operator GoOpti | Departure Time 08:00AM | Arrival Time 10:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sun | Cheapest price $610 |
Operator BlaBlaCar | Departure Time 08:00AM | Arrival Time 08:30AM | Duration 0h30 | Departure days Tue, Sun | Cheapest price $5 |
Operator GoOpti | Departure Time 08:15AM | Arrival Time 09:35AM | Duration 1h20 | Departure days Sat | Cheapest price $299 |
Operator BlaBlaCar Bus | Departure Time 08:20AM | Arrival Time 09:30AM | Duration 1h10 | Departure days Mon, Tue, Thu, Fri, Sat, Sun | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 08:30AM | Arrival Time 09:20AM | Duration 0h50 | Departure days Mon, Thu, Fri, Sun | Cheapest price $5 |
Operator BlaBlaCar | Departure Time 09:00AM | Arrival Time 10:10AM | Duration 1h10 | Departure days Tue, Sat | Cheapest price $5 |
Operator GoOpti | Departure Time 09:00AM | Arrival Time 11:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat | Cheapest price $299 |
Operator GoOpti | Departure Time 09:05AM | Arrival Time 10:25AM | Duration 1h20 | Departure days Fri | Cheapest price $188 |
Operator FlixBus | Departure Time 09:15AM | Arrival Time 11:15AM | Duration 2h00 | Departure days Everyday | Cheapest price $10 |
Operator GoOpti | Departure Time 09:45AM | Arrival Time 12:00PM | Duration 2h15 | Departure days Sun | Cheapest price $263 |
Operator GoOpti | Departure Time 10:00AM | Arrival Time 12:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 11:00AM | Arrival Time 11:30AM | Duration 0h30 | Departure days Sat | Cheapest price $5 |
Operator GoOpti | Departure Time 11:00AM | Arrival Time 01:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator GoOpti | Departure Time 11:15AM | Arrival Time 12:45PM | Duration 1h30 | Departure days Fri | Cheapest price $116 |
Operator RegioJet a.s. | Departure Time 11:40AM | Arrival Time 01:00PM | Duration 1h20 | Departure days Sat | Cheapest price $11 |
Operator BlaBlaCar Bus | Departure Time 12:00PM | Arrival Time 01:10PM | Duration 1h10 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $10 |
Operator GoOpti | Departure Time 12:00PM | Arrival Time 02:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price $116 |
Operator GoOpti | Departure Time 01:00PM | Arrival Time 03:15PM | Duration 2h15 | Departure days Mon, Tue, Sat, Sun | Cheapest price $611 |
Operator FlixBus | Departure Time 01:15PM | Arrival Time 03:05PM | Duration 1h50 | Departure days Mon, Wed, Thu, Fri, Sat, Sun | Cheapest price $14 |
Operator GoOpti | Departure Time 01:15PM | Arrival Time 03:30PM | Duration 2h15 | Departure days Wed | Cheapest price $264 |
Operator GoOpti | Departure Time 02:00PM | Arrival Time 04:30PM | Duration 2h30 | Departure days Tue, Wed, Sat, Sun | Cheapest price $264 |
Operator GoOpti | Departure Time 02:30PM | Arrival Time 04:45PM | Duration 2h15 | Departure days Mon | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 02:40PM | Arrival Time 03:10PM | Duration 0h30 | Departure days Sun | Cheapest price $5 |
Operator GoOpti | Departure Time 03:00PM | Arrival Time 05:30PM | Duration 2h30 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator GoOpti | Departure Time 03:30PM | Arrival Time 06:00PM | Duration 2h30 | Departure days Sun | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 04:00PM | Arrival Time 04:50PM | Duration 0h50 | Departure days Sat, Sun | Cheapest price $4 |
Operator GoOpti | Departure Time 04:00PM | Arrival Time 06:30PM | Duration 2h30 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator FlixBus | Departure Time 04:15PM | Arrival Time 05:50PM | Duration 1h35 | Departure days Mon, Tue, Fri, Sat, Sun | Cheapest price $13 |
Operator FlixBus | Departure Time 04:20PM | Arrival Time 05:30PM | Duration 1h10 | Departure days Everyday | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 04:30PM | Arrival Time 05:20PM | Duration 0h50 | Departure days Mon, Tue, Wed, Thu | Cheapest price $4 |
Operator BlaBlaCar | Departure Time 05:00PM | Arrival Time 05:20PM | Duration 0h20 | Departure days Sat | Cheapest price $4 |
Operator GoOpti | Departure Time 05:00PM | Arrival Time 07:30PM | Duration 2h30 | Departure days Mon, Wed, Sat, Sun | Cheapest price $264 |
Operator BlaBlaCar | Departure Time 05:20PM | Arrival Time 05:50PM | Duration 0h30 | Departure days Tue | Cheapest price $4 |
Operator GoOpti | Departure Time 05:30PM | Arrival Time 07:45PM | Duration 2h15 | Departure days Tue | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 05:50PM | Arrival Time 06:00PM | Duration 0h10 | Departure days Fri | Cheapest price $4 |
Operator GoOpti | Departure Time 06:00PM | Arrival Time 08:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 06:00PM | Arrival Time 06:50PM | Duration 0h50 | Departure days Mon, Wed | Cheapest price $5 |
Operator GoOpti | Departure Time 06:15PM | Arrival Time 08:30PM | Duration 2h15 | Departure days Sun | Cheapest price $263 |
Operator Marino Autolinee | Departure Time 06:20PM | Arrival Time 08:40PM | Duration 2h20 | Departure days Sat | Cheapest price $37 |
Operator BlaBlaCar | Departure Time 06:30PM | Arrival Time 06:50PM | Duration 0h20 | Departure days Fri, Sun | Cheapest price $4 |
Operator BlaBlaCar | Departure Time 06:50PM | Arrival Time 07:40PM | Duration 0h50 | Departure days Thu | Cheapest price $3 |
Operator GoOpti | Departure Time 07:00PM | Arrival Time 09:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 07:30PM | Arrival Time 08:30PM | Duration 1h00 | Departure days Sun | Cheapest price $8 |
Operator FlixBus | Departure Time 07:40PM | Arrival Time 08:50PM | Duration 1h10 | Departure days Everyday | Cheapest price $12 |
Operator GoOpti | Departure Time 08:00PM | Arrival Time 10:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $263 |
Operator BlaBlaCar | Departure Time 08:30PM | Arrival Time 09:10PM | Duration 0h40 | Departure days Wed | Cheapest price $5 |
Operator GoOpti | Departure Time 08:50PM | Arrival Time 10:00PM | Duration 1h10 | Departure days Fri | Cheapest price $188 |
Operator GoOpti | Departure Time 09:00PM | Arrival Time 11:15PM | Duration 2h15 | Departure days Mon, Tue, Wed, Fri, Sun | Cheapest price $188 |
Operator GoOpti | Departure Time 09:15PM | Arrival Time 11:45PM | Duration 2h30 | Departure days Sat | Cheapest price $263 |
Operator FlixBus | Departure Time 09:35PM | Arrival Time 11:05PM | Duration 1h30 | Departure days Everyday | Cheapest price $10 |
Operator BlaBlaCar | Departure Time 10:00PM | Arrival Time 11:10PM | Duration 1h10 | Departure days Sun | Cheapest price $8 |
Operator GoOpti | Departure Time 10:00PM | Arrival Time 12:15AM | Duration 2h15 | Departure days Mon, Tue, Wed, Sat, Sun | Cheapest price $274 |
Operator BlaBlaCar | Departure Time 10:30PM | Arrival Time 10:50PM | Duration 0h20 | Departure days Sat | Cheapest price $4 |
Operator GoOpti | Departure Time 11:00PM | Arrival Time 01:15AM | Duration 2h15 | Departure days Mon, Wed, Fri, Sat, Sun | Cheapest price $290 |
Operator GoOpti | Departure Time 11:45PM | Arrival Time 02:00AM | Duration 2h15 | Departure days Tue | Cheapest price $291 |
Operator GoOpti | Departure Time 11:50PM | Arrival Time 01:00AM | Duration 1h10 | Departure days Fri | Cheapest price $188 |
The table below shows live departures for Lugano to Milan buses for today, Thursday, September 3. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus | 7:35 AM Lugano, Via Ciani | 1h35 | 9:10 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
4740 | 8:20 AM Lugano, Via Ciani | 1h10 | 9:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:15 AM Lugano, Via Ciani | 2h00 | 11:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
4744 | 12:00 PM Lugano, Via Ciani | 1h10 | 1:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 1:15 PM Lugano, Via Ciani | 1h50 | 3:05 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 4:20 PM Lugano, Via Ciani | 1h10 | 5:30 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 7:40 PM Lugano, Via Ciani | 1h10 | 8:50 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:35 PM Lugano, Via Ciani | 1h30 | 11:05 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
| Friday, September 4 | |||||
FlixBus | 5:15 AM Lugano, Via Ciani | 1h15 | 6:30 AM 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 Lugano to Milan run on average 12 times per day, taking around 1h 27m. Cheap bus tickets for this journey start at $10 (€8) 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 39 miles (63 km) distance in 1h 10m.
Distance 39 miles (63 km) |
Average bus duration 1h 27m |
Cheapest ticket price $10 (€8) |
Buses per day 12 |
Direct buses 12 |
Fastest bus 1h 10m |
First bus 12:50 AM |
Last bus 11:55 PM |
Cheapest Month Dec |
Cheapest Day Sun |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Mon |
Least Busy Day Wed |
Best time to book 63 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Orio al Serio, Milan Bergamo Airport (Bus station) -> Milano Centrale, Milan
Find answers to the most common questions about traveling from Lugano 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 Lugano to Milan buses use the Lugano, Via Ciani to Milano, Autostazione Lampugnano station pair, with some services arriving at Milano, San Donato - Settore B (Viale Giuseppe Impastato). Use this guide to compare Lugano 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.
Milano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, Shower, and Ticket Office.
Food options include: Multiple fast food and dining options available.
Free Wi-Fi available for 30 minutes. ATMs are aTMs available in the main hall.
Ticket office support is available at Milano.
Available at Milano: Parking, Taxis, WC.
Accessibility facilities are available at Milano: Wheelchair accessible facilities available.
Here are some other resources that might have the information you need