The cheapest and fastest buses from Oleggio to Milan
Cheapest price
$12
Average price
$17
Fastest journey
18 m
Average duration
18 m
Buses per day
32
Distance
45 km
The best way to find a cheap bus ticket from Oleggio to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Oleggio to Milan will cost around $17 if you buy it on the day, but the cheapest tickets can be found for only $12.
Of the 32 buses that leave Oleggio for Milan on Wed, May 20, 8 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, May 20 the direct buses cover the 45 km distance in an average of 18 m but if you time it right, some buses will get you there in just 18 m .
On Wed, May 20 the slowest buses will take 18 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.
Flibco4:42 PM0h18Oleggio, Via Novara (Eni)5:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco1:42 PM0h18Oleggio, Via Novara (Eni)2:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco3:42 PM0h18Oleggio, Via Novara (Eni)4:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco6:42 PM0h18Oleggio, Via Novara (Eni)7:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco5:42 PM0h18Oleggio, Via Novara (Eni)6:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco4:42 PM0h18Oleggio, Via Novara (Eni)5:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco1:42 PM0h18Oleggio, Via Novara (Eni)2:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco3:42 PM0h18Oleggio, Via Novara (Eni)4:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco6:42 PM0h18Oleggio, Via Novara (Eni)7:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Flibco5:42 PM0h18Oleggio, Via Novara (Eni)6:00 PMFerno, Aeroporto di Milano-Malpensa T1$121One-way0 transfers
Travel Information
Compare bus and train for Oleggio to Milan
Omio recommends booking the train as it is the most popular option from Oleggio to Milan among Omio's users. If you are prioritising price take the train with prices starting from $9. For those with little time consider booking a bus which can get you there in 19m. The ticket price range depends on the travel mode: a train costs an average of $9, and a bus costs an average of $12.
Distance: 27 miles (45 km)
Compare bus with
| Bus | Most popular Train |
|---|---|
$12 Average price | $9 Average price Cheapest |
49m Average total duration Fastest 19m Onboard + 30m Additional time* | 1h 34m Average total duration 1h 4m Onboard + 30m Additional time* |
![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options |
This is compared to other travel options from Oleggio to Milan:
A train is $3 (€3) less than a bus for this route with tickets for a bus from Oleggio to Milan costing on average $12 (€10).
Other travel options to Milan take longer:
Train takes on average 1h 4m.
Oleggio to Milan Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator BlaBlaCar | Departure Time 07:00AM | Arrival Time 07:20AM | Duration 0h20 | Departure days Tue | Cheapest price $4 |
Operator Flibco | Departure Time 07:12AM | Arrival Time 09:35AM | Duration 2h23 | Departure days Tue, Wed | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 07:20AM | Arrival Time 07:50AM | Duration 0h30 | Departure days Tue | Cheapest price $3 |
Operator BlaBlaCar | Departure Time 07:40AM | Arrival Time 07:50AM | Duration 0h10 | Departure days Tue | Cheapest price $3 |
Operator Flibco | Departure Time 07:42AM | Arrival Time 08:00AM | Duration 0h18 | Departure days Mon, Thu, Fri, Sun | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 08:00AM | Arrival Time 08:40AM | Duration 0h40 | Departure days Tue | Cheapest price $4 |
Operator Flibco | Departure Time 08:42AM | Arrival Time 09:00AM | Duration 0h18 | Departure days Mon, Thu, Fri, Sat | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 08:50AM | Arrival Time 09:50AM | Duration 1h00 | Departure days Wed | Cheapest price $5 |
Operator Flibco | Departure Time 09:42AM | Arrival Time 11:35AM | Duration 1h53 | Departure days Tue, Wed | Cheapest price $12 |
Operator Flibco | Departure Time 10:42AM | Arrival Time 11:00AM | Duration 0h18 | Departure days Fri | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 11:40AM | Arrival Time 12:10PM | Duration 0h30 | Departure days Wed | Cheapest price $6 |
Operator Flibco | Departure Time 11:42AM | Arrival Time 01:35PM | Duration 1h53 | Departure days Tue, Wed | Cheapest price $12 |
Operator Flibco | Departure Time 01:42PM | Arrival Time 04:05PM | Duration 2h23 | Departure days Tue, Wed | Cheapest price $12 |
Operator Flibco | Departure Time 03:42PM | Arrival Time 06:05PM | Duration 2h23 | Departure days Tue, Wed | Cheapest price $12 |
Operator Flibco | Departure Time 04:42PM | Arrival Time 06:35PM | Duration 1h53 | Departure days Tue, Wed | Cheapest price $12 |
Operator BlaBlaCar | Departure Time 05:00PM | Arrival Time 05:10PM | Duration 0h10 | Departure days Tue | Cheapest price $3 |
Operator Flibco | Departure Time 05:42PM | Arrival Time 06:00PM | Duration 0h18 | Departure days Mon, Tue, Wed | Cheapest price $12 |
Operator Flibco | Departure Time 06:42PM | Arrival Time 07:00PM | Duration 0h18 | Departure days Tue, Wed | Cheapest price $12 |
Live departures
Oleggio to Milan bus times
The table below shows live departures for Oleggio to Milan buses for tomorrow, Wednesday, May 20. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Flibco · Flibco | 7:12 AM Oleggio, Via Novara (Eni) | 1h53 | 9:05 AM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 7:12 AM Oleggio, Via Novara (Eni) | 1h23 | 8:35 AM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 7:12 AM Oleggio, Via Novara (Eni) | 0h18 | 7:30 AM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 7:12 AM Oleggio, Via Novara (Eni) | 2h23 | 9:35 AM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 9:42 AM Oleggio, Via Novara (Eni) | 1h53 | 11:35 AM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 9:42 AM Oleggio, Via Novara (Eni) | 2h23 | 12:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 9:42 AM Oleggio, Via Novara (Eni) | 1h23 | 11:05 AM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 9:42 AM Oleggio, Via Novara (Eni) | 0h18 | 10:00 AM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco | 11:42 AM Oleggio, Via Novara (Eni) | 0h18 | 12:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 11:42 AM Oleggio, Via Novara (Eni) | 1h23 | 1:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 11:42 AM Oleggio, Via Novara (Eni) | 1h53 | 1:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 11:42 AM Oleggio, Via Novara (Eni) | 2h23 | 2:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 1:42 PM Oleggio, Via Novara (Eni) | 0h18 | 2:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 1:42 PM Oleggio, Via Novara (Eni) | 1h53 | 3:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 1:42 PM Oleggio, Via Novara (Eni) | 1h23 | 3:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 1:42 PM Oleggio, Via Novara (Eni) | 2h23 | 4:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 3:42 PM Oleggio, Via Novara (Eni) | 0h18 | 4:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 3:42 PM Oleggio, Via Novara (Eni) | 1h53 | 5:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 3:42 PM Oleggio, Via Novara (Eni) | 2h23 | 6:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 3:42 PM Oleggio, Via Novara (Eni) | 1h23 | 5:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 4:42 PM Oleggio, Via Novara (Eni) | 0h18 | 5:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 4:42 PM Oleggio, Via Novara (Eni) | 1h53 | 6:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 4:42 PM Oleggio, Via Novara (Eni) | 1h23 | 6:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 4:42 PM Oleggio, Via Novara (Eni) | 2h23 | 7:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 5:42 PM Oleggio, Via Novara (Eni) | 1h53 | 7:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 5:42 PM Oleggio, Via Novara (Eni) | 2h23 | 8:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 5:42 PM Oleggio, Via Novara (Eni) | 0h18 | 6:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 5:42 PM Oleggio, Via Novara (Eni) | 1h23 | 7:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco | 6:42 PM Oleggio, Via Novara (Eni) | 0h18 | 7:00 PM Ferno, Aeroporto di Milano-Malpensa T1 | 0 transfersDirect | |
Flibco · Flibco | 6:42 PM Oleggio, Via Novara (Eni) | 1h53 | 8:35 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 6:42 PM Oleggio, Via Novara (Eni) | 1h23 | 8:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
Flibco · Flibco | 6:42 PM Oleggio, Via Novara (Eni) | 2h23 | 9:05 PM Milano, Piazzale Lorenzo Lotto / Via Diomede (Ippodromo Snai San Siro) | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Oleggio to Milan by bus or train
Compare bus and train 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.
May 20
May 21
May 22
May 23
May 24
May 25
May 26
Why should you book Oleggio to Milan buses with Omio?
Why book with Omio vs Flibco?
- Compare with other providers: On Omio, you can not only buy tickets for Flibco, but also compare tickets for the likes of flibco or STN S.r.l., to find the best option for your trip from Oleggio to Milan.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Flibco with all available travel options, which are bus and train to ensure you get the best deal for traveling from Oleggio to Milan.
Why book with Omio over Checkmybus or Wanderu?
- Compare with other providers: On Omio, you can also compare tickets for the likes of flibco or STN S.r.l., to find the best option for your trip from Oleggio to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including bus and train to find the ideal travel option from Oleggio to Milan.
Journey information
Overview: Bus from Oleggio to Milan
Buses from Oleggio to Milan run on average 12 times per day, taking around 19m. Cheap bus tickets for this journey start at $12 (€10) but you can travel from only $9 (€7) by train.
There are 11 buses per day. The earliest bus runs at 00:05, the last at 23:55. The fastest bus covers the 27 miles (45 km) distance in 18m.
Distance 27 miles (45 km) |
Average bus duration 19m |
Cheapest ticket price $12 (€10) |
Buses per day 12 |
Direct buses 11 |
Fastest bus 18m |
First bus 12:05 AM |
Last bus 11:55 PM |
Cheapest Month May |
Cheapest Day Fri |
High Season Oct - Dec |
Low Season Jul - Sep |
Busiest Day Tue |
Least Busy Day Tue |
Best time to book 6 days |
Bus providers: Flibco, flibco, BlaBlaCar, STN S.r.l., from Oleggio to MilanYou can travel by bus between Oleggio to Milan with Flibco, flibco, BlaBlaCar, STN S.r.l., for as low as $9 (€7). When you search for schedules and tickets, Omio will show you the best journey
Flibco
flibco
BlaBlaCar
STN S.r.l.,
FAQs: Bus from Oleggio to Milan
Find answers to the most common questions about traveling from Oleggio 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.

- Flibco
- Assistance
- Priority boarding
- Accessible seating.
- Duomo di Milano, an iconic Gothic cathedral known for its intricate facade and panoramic rooftop views
- Galleria Vittorio Emanuele II, a historic shopping arcade featuring luxury brands and elegant architecture
- Castello Sforzesco, a Renaissance fortress housing museums and art collections
- Santa Maria delle Grazie, a church famous for housing Leonardo da Vinci's The Last Supper
- Teatro alla Scala, a world-renowned opera house celebrated for its exceptional acoustics and performances.
- Visit the Duomo di Milano, an iconic Gothic cathedral with stunning architecture and panoramic rooftop views
- Explore The Last Supper, Leonardo da Vinci's renowned mural located in the Convent of Santa Maria delle Grazie
- Stroll through Galleria Vittorio Emanuele II, a historic shopping arcade with luxury boutiques and elegant cafes
- Discover Sforza Castle, a grand fortress housing several museums and art collections
- Relax in Sempione Park, a large green space perfect for leisurely walks and picnics near the city center.
- Flibco
- You can cancel your ticket up to 24 hours before departure for a partial refund. No refunds for cancellations within 24 hours.
- Flibco
- One carry-on bag up to 10kg and one checked bag up to 20kg.
- Flibco
- 5€ per additional bag.
- Flibco
- Small pets allowed in carriers
- must be placed on the floor during the journey.
popular bus stations
Popular bus stations from Oleggio to Milan
- 06:00-23:00
- Free Wi-Fi
- Ristorante Briciole (in the station)
- La Galleria (0.5 km)
- Osteria della Pista (0.7 km).
- Available outside the arrivals area.
- Elevators, ramps
- Available in the station.
- Bus: 73, 923 Train: Malpensa Express
- 06:00-23:00
- Free Wi-Fi
- Ristorante Briciole (in the station)
- La Galleria (0.5 km)
- Osteria della Pista (0.7 km).
- Available outside the arrivals area.
- Elevators, ramps
- Available in the station.
- Bus: 73, 923 Train: Malpensa Express
More options for your journey from Oleggio to Milan
Here are some other resources that might have the information you need

