The cheapest and fastest buses from Milan to Asti
Cheapest price
$8
Average price
$14
Fastest journey
1 h
Average duration
1 h 16 m
Buses per day
19
Distance
99 km
The best way to find a cheap bus ticket from Milan to Asti is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Asti will cost around $14 if you buy it on the day, but the cheapest tickets can be found for only $8.
Of the 19 buses that leave Milan for Asti on Thu, May 07, 5 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Thu, May 07 the direct buses cover the 99 km distance in an average of 1 h 16 m but if you time it right, some buses will get you there in just 1 h .
On Thu, May 07 the slowest buses will take 1 h 20 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.
5:00 PM1h20Milan6:20 PMAsti$81One-way0 transfers
4:50 PM1h20Milan6:10 PMAsti$111One-way0 transfers
6:30 PM1h20Milan7:50 PMAsti$111One-way0 transfers
6:40 PM1h00Milan7:40 PMAsti$111One-way0 transfers
9:40 AM1h20Milan11:00 AMAsti$131One-way0 transfers
6:40 PM1h00Milan7:40 PMAsti$111One-way0 transfers
5:00 PM1h20Milan6:20 PMAsti$81One-way0 transfers
4:50 PM1h20Milan6:10 PMAsti$111One-way0 transfers
6:30 PM1h20Milan7:50 PMAsti$111One-way0 transfers
9:40 AM1h20Milan11:00 AMAsti$131One-way0 transfers
Travel Information
Compare train and bus for Milan to Asti
Omio recommends booking the train as it is the most popular option from Milan to Asti among Omio's users. If you are prioritising price take the train with prices starting from $13. For those with little time consider booking a train which can get you there in 1h 54m. 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 train costs an average of $13, and a bus costs an average of $14.
Distance: 61 miles (99 km)
Compare bus with
| Bus | Most popular Train |
|---|---|
$15 Average price | $15 Average price Cheapest |
2h 30m Average total duration 2h 0m Onboard + 30m Additional time* | 2h 24m Average total duration Fastest 1h 54m Onboard + 30m Additional time* |
0.1 - 0.2kg CO2 emissions | 0.0 - 0.1kg CO2 emissions Lowest |
![]() Most popular bus company | ![]() Most popular train company |
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 Milan to Asti:
A train is $0.05 (€0.04) less than a bus for this route with tickets for a bus from Milan to Asti costing on average $15 (€12).
Other travel options to Asti take longer:
Bus takes on average 2h 0m.
Milan to Asti Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Regionale | Departure Time 12:54AM | Arrival Time 07:33AM | Duration 6h39 | Departure days Mon, Thu, Fri, Sat | Cheapest price $14 |
Operator Regionale | Departure Time 05:38AM | Arrival Time 07:54AM | Duration 2h16 | Departure days Mon, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 06:30AM | Arrival Time 08:00AM | Duration 1h30 | Departure days Mon | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 07:00AM | Arrival Time 08:10AM | Duration 1h10 | Departure days Fri | Cheapest price $13 |
Operator Regionale | Departure Time 07:25AM | Arrival Time 09:54AM | Duration 2h29 | Departure days Mon, Thu, Fri, Sat | Cheapest price $14 |
Operator Regionale | Departure Time 08:05AM | Arrival Time 10:44AM | Duration 2h39 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 09:40AM | Arrival Time 11:00AM | Duration 1h20 | Departure days Thu | Cheapest price $13 |
Operator Regionale | Departure Time 09:54AM | Arrival Time 12:52PM | Duration 2h58 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator Regionale | Departure Time 11:25AM | Arrival Time 01:54PM | Duration 2h29 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator Regionale | Departure Time 12:05PM | Arrival Time 02:44PM | Duration 2h39 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator Regionale | Departure Time 01:25PM | Arrival Time 03:54PM | Duration 2h29 | Departure days Mon, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 02:00PM | Arrival Time 03:30PM | Duration 1h30 | Departure days Fri | Cheapest price $14 |
Operator Regionale | Departure Time 02:05PM | Arrival Time 04:12PM | Duration 2h07 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 02:30PM | Arrival Time 03:50PM | Duration 1h20 | Departure days Wed | Cheapest price $9 |
Operator Regionale | Departure Time 03:25PM | Arrival Time 05:54PM | Duration 2h29 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 04:00PM | Arrival Time 05:10PM | Duration 1h10 | Departure days Fri | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 04:50PM | Arrival Time 06:10PM | Duration 1h20 | Departure days Thu | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 05:00PM | Arrival Time 06:20PM | Duration 1h20 | Departure days Thu | Cheapest price $8 |
Operator BlaBlaCar | Departure Time 05:10PM | Arrival Time 06:20PM | Duration 1h10 | Departure days Wed | Cheapest price $11 |
Operator Regionale | Departure Time 05:25PM | Arrival Time 07:54PM | Duration 2h29 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 06:00PM | Arrival Time 07:50PM | Duration 1h50 | Departure days Wed | Cheapest price $8 |
Operator Regionale | Departure Time 06:20PM | Arrival Time 08:39PM | Duration 2h19 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 06:30PM | Arrival Time 08:00PM | Duration 1h30 | Departure days Mon, Wed, Thu | Cheapest price $9 |
Operator BlaBlaCar | Departure Time 06:40PM | Arrival Time 07:40PM | Duration 1h00 | Departure days Thu | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 06:50PM | Arrival Time 08:00PM | Duration 1h10 | Departure days Fri | Cheapest price $13 |
Operator Regionale | Departure Time 07:25PM | Arrival Time 09:54PM | Duration 2h29 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Operator BlaBlaCar | Departure Time 07:30PM | Arrival Time 08:40PM | Duration 1h10 | Departure days Wed | Cheapest price $11 |
Operator BlaBlaCar | Departure Time 08:00PM | Arrival Time 09:10PM | Duration 1h10 | Departure days Fri | Cheapest price $13 |
Operator Regionale | Departure Time 09:25PM | Arrival Time 11:54PM | Duration 2h29 | Departure days Mon, Wed, Thu, Fri, Sat | Cheapest price $14 |
Live departures
Milan to Asti bus times
The table below shows live departures for Milan to Asti buses for today, Wednesday, May 6. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
Regionale TRENORD 2379 · treno 2379 effettuato con bus TR015 | 7:25 PM Milan Centrale | 2h29 | 9:54 PM Asti station | 1 transfer | |
Regionale TRENORD 2383 · treno 2383 effettuato con bus TR017 | 9:25 PM Milan Centrale | 2h29 | 11:54 PM Asti station | 1 transfer | |
| Thursday, May 7 | |||||
Autobus TRENORD 2349A · treno 11054 effettuato con bus TO001 · Regionale 11054 | 12:54 AM Milan Rogoredo | 6h39 | 7:33 AM Asti station | 2 transfers | |
Regionale TRENORD 2351 · treno 2351 effettuato con bus TR001 | 5:38 AM Milan Rogoredo | 2h16 | 7:54 AM Asti station | 1 transfer | |
Regionale TRENORD 2355 · treno 2355 effettuato con bus TR003 | 7:25 AM Milan Centrale | 2h29 | 9:54 AM Asti station | 1 transfer | |
Regionale Veloce 3015 · treno 11060 effettuato con bus TO007 · Regionale 11060 | 8:05 AM Milan Rogoredo | 2h39 | 10:44 AM Asti station | 2 transfers | |
S13 TRENORD 24327 · Autobus TRENORD 573A · Regionale Veloce 2106 | 9:54 AM Milan Rogoredo | 2h58 | 12:52 PM Asti station | 2 transfers | |
Regionale Veloce 2363 · treno 2363 effettuato con bus TO009 | 11:25 AM Milan Centrale | 2h29 | 1:54 PM Asti station | 1 transfer | |
Regionale 3023 · treno 11068 effettuato con bus TO011 · Regionale 11068 | 12:05 PM Milan Rogoredo | 2h39 | 2:44 PM Asti station | 2 transfers | |
Regionale TRENORD 2367 · treno 2367 effettuato con bus TR007 | 1:25 PM Milan Centrale | 2h29 | 3:54 PM Asti station | 1 transfer | |
Regionale Veloce 3027 · treno 11072 effettuato con bus TO015 · Regionale 11072 | 2:05 PM Milan Rogoredo | 2h39 | 4:44 PM Asti station | 2 transfers | |
Regionale TRENORD 2371 · treno 2367 effettuato con bus TR009 | 3:25 PM Milan Centrale | 2h29 | 5:54 PM Asti station | 1 transfer | |
Regionale Veloce 2375 · treno 2375 effettuato con bus TO019 | 5:25 PM Milan Centrale | 2h29 | 7:54 PM Asti station | 1 transfer | |
Regionale TRENORD 2303 · treno 2303 effettuato con bus TR013 | 6:20 PM Milan Rogoredo | 2h19 | 8:39 PM Asti station | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Milan to Asti by train or bus
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.
May 07
May 08
May 09
May 10
May 11
May 12
May 13
May 14
May 15
May 16
May 17
May 18
May 19
May 20
May 21
May 22
May 23
May 24
May 25
May 26
May 27
Why should you book Milan to Asti buses with Omio?
Why book with Omio vs FlixBus?
- 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 FlixBus with all available travel options, which are train and bus to ensure you get the best deal for traveling from Milan to Asti.
Why book with Omio over Wanderu or Trainline?
- Multiple modes of transport: Omio allows you to compare travel options including train and bus to find the ideal travel option from Milan to Asti.
Journey information
Overview: Bus from Milan to Asti
Buses from Milan to Asti run on average 4 times per day, taking around 2h 0m. Cheap bus tickets for this journey start at $14 (€12) but you can travel from only $13 (€10) by train.
There are 3 buses per day. The earliest bus runs at 00:25, the last at 21:29. The fastest bus covers the 61 miles (99 km) distance in 2h 58m.
Distance 61 miles (99 km) |
Average bus duration 2h 0m |
Cheapest ticket price $14 (€12) |
Buses per day 4 |
Direct buses 3 |
Fastest bus 2h 58m |
First bus 12:25 AM |
Last bus 9:29 PM |
Cheapest Month Feb |
Cheapest Day Sun |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Sat |
Least Busy Day Mon |
Best time to book 6 days |
Bus providers: BlaBlaCar, FlixBus from Milan to AstiYou can travel by bus between Milan to Asti with BlaBlaCar, FlixBus for as low as $13 (€10). When you search for schedules and tickets, Omio will show you the best journey
FlixBus
BlaBlaCar
FAQs: Bus from Milan to Asti
Find answers to the most common questions about traveling from Milan to Asti 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 Asti, this guide helps you travel smarter and with confidence.

- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- FlixBus
- You can cancel your ticket up to 15 minutes before departure and receive a voucher for future travel. Refund requests for delays over 120 minutes are possible.
- FlixBus
- One carry-on bag up to 7kg (42x30x18 cm) and one checked bag up to 20kg (80x50x30 cm).
- FlixBus
- Additional luggage can be purchased for a fee.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
More options for your journey from Milan to Asti
Here are some other resources that might have the information you need

