The cheapest and fastest buses from Milan to Grassano
Cheapest price
$85
Average price
$107
Fastest journey
12 h 20 m
Average duration
12 h 44 m
Buses per day
13
Distance
787 km
The best way to find a cheap bus ticket from Milan to Grassano is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Grassano will cost around $107 if you buy it on the day, but the cheapest tickets can be found for only $85.
Of the 13 buses that leave Milan for Grassano on Tue, Jul 07, 4 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Tue, Jul 07 the direct buses cover the 787 km distance in an average of 12 h 44 m but if you time it right, some buses will get you there in just 12 h 20 m .
On Tue, Jul 07 the slowest buses will take 13 h 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.
22137:20 PM13h10Milano, Autostazione Lampugnano8:30 AMMatera, Terminal Bus Via Don Luigi Sturzo$851One-way0 transfers
22138:05 PM12h25Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:30 AMMatera, Terminal Bus Via Don Luigi Sturzo$851One-way0 transfers
0498:25 PM13h00Milano, Autostazione Lampugnano9:25 AMGrassano, Scalo Ferroviario$971One-way0 transfers
0499:05 PM12h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)9:25 AMGrassano, Scalo Ferroviario$971One-way0 transfers
FlixBus · FlixBus · FlixBus9:25 PM18h55Assago, Viale Milanofiori (Assago M2)4:20 PMGravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia)$1001One-way2 transfers
0499:05 PM12h20Milano, San Donato - Settore B (Viale Giuseppe Impastato)9:25 AMGrassano, Scalo Ferroviario$971One-way0 transfers
22138:05 PM12h25Milano, San Donato - Settore B (Viale Giuseppe Impastato)8:30 AMMatera, Terminal Bus Via Don Luigi Sturzo$851One-way0 transfers
083 · 0498:30 PM12h55Assago, Viale Milanofiori (Assago M2)9:25 AMGrassano, Scalo Ferroviario$1021One-way1 transfer
0498:25 PM13h00Milano, Autostazione Lampugnano9:25 AMGrassano, Scalo Ferroviario$971One-way0 transfers
110 · 1333:50 PM13h00Milano, San Donato - Settore B (Viale Giuseppe Impastato)4:50 AMGrassano, Scalo Ferroviario$1131One-way1 transfer
Travel Information
Compare bus, train, and flight for Milan to Grassano
Omio recommends booking the bus as it is the most popular option from Milan to Grassano among Omio's users. If you are prioritising price take the bus with prices starting from $21. For those with little time consider booking a flight which can get you there in 3h 24m. The ticket price range depends on the travel mode: a bus costs an average of $21, and a flight costs an average of $21.
Distance: 489 miles (787 km)
Compare bus with
Most popular Bus | Flight | Train | Driving |
|---|---|---|---|
$33 Average price Cheapest | $109 Average price | $89 Average price | $261 Average price (fuel + tolls) |
13h 11m Average total duration 12h 41m Onboard + 30m Additional time* | 6h 24m Average total duration Fastest 3h 24m Onboard + 3h 0m Additional time* | 14h 36m Average total duration 14h 6m Onboard + 30m Additional time* | 9h 52m Average total duration (door-to-door) |
Direct Options | Direct Options | Direct Options | Direct Options |
This is compared to other travel options from Milan to Grassano:
A bus is $56 (€46) less than a train for this route with tickets for a train from Milan to Grassano costing on average $89 (€73).
A bus is $77 (€63) less than a flight for this route with tickets for a flight from Milan to Grassano costing on average $109 (€90).
Other travel options to Grassano take longer:
Bus takes on average 12h 41m.
Train takes on average 14h 6m.
Tickets start at around $33 (€27) compared to roughly $261 (€215) in fuel and tolls — a saving of about $228 (€188). The journey takes 12h 41m versus 9h 52m 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 Itabus.
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.
Milan to Grassano Bus Timetables
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator FlixBus | Departure Time 12:50AM | Arrival Time 11:09PM | Duration 22h19 | Departure days Tue | Cheapest price $101 |
Operator FlixBus | Departure Time 06:15AM | Arrival Time 11:09PM | Duration 16h54 | Departure days Tue | Cheapest price $111 |
Operator BlaBlaCar | Departure Time 09:10AM | Arrival Time 07:20PM | Duration 10h10 | Departure days Tue | Cheapest price $86 |
Operator Marino Autolinee | Departure Time 03:10PM | Arrival Time 04:50AM | Duration 13h40 | Departure days Mon, Tue | Cheapest price $113 |
Operator Marino Autolinee | Departure Time 03:50PM | Arrival Time 04:50AM | Duration 13h00 | Departure days Mon, Tue | Cheapest price $113 |
Operator FlixBus | Departure Time 04:05PM | Arrival Time 11:09PM | Duration 31h04 | Departure days Mon | Cheapest price $236 |
Operator Itabus | Departure Time 06:05PM | Arrival Time 06:30AM | Duration 12h25 | Departure days Wed, Fri, Sat | Cheapest price $24 |
Operator FlixBus | Departure Time 06:49PM | Arrival Time 04:20PM | Duration 21h31 | Departure days Mon | Cheapest price $166 |
Operator Itabus | Departure Time 07:05PM | Arrival Time 07:30AM | Duration 12h25 | Departure days Wed, Thu | Cheapest price $21 |
Operator Itabus | Departure Time 07:20PM | Arrival Time 08:30AM | Duration 13h10 | Departure days Mon, Tue | Cheapest price $37 |
Operator Itabus | Departure Time 08:05PM | Arrival Time 08:30AM | Duration 12h25 | Departure days Mon, Tue | Cheapest price $37 |
Operator Marino Autolinee | Departure Time 08:25PM | Arrival Time 09:25AM | Duration 13h00 | Departure days Tue | Cheapest price $97 |
Operator FlixBus | Departure Time 08:30PM | Arrival Time 11:09PM | Duration 26h39 | Departure days Mon | Cheapest price $145 |
Operator Marino Autolinee | Departure Time 08:30PM | Arrival Time 09:25AM | Duration 12h55 | Departure days Tue | Cheapest price $102 |
Operator FlixBus | Departure Time 09:00PM | Arrival Time 04:20PM | Duration 19h20 | Departure days Mon, Tue | Cheapest price $117 |
Operator Marino Autolinee | Departure Time 09:05PM | Arrival Time 09:25AM | Duration 12h20 | Departure days Tue | Cheapest price $97 |
Operator FlixBus | Departure Time 09:25PM | Arrival Time 04:20PM | Duration 18h55 | Departure days Mon, Tue | Cheapest price $100 |
Operator Itabus | Departure Time 09:45PM | Arrival Time 01:30PM | Duration 15h45 | Departure days Fri | Cheapest price $49 |
Operator Itabus | Departure Time 10:30PM | Arrival Time 01:30PM | Duration 15h00 | Departure days Wed | Cheapest price $42 |
Operator FlixBus | Departure Time 10:30PM | Arrival Time 11:09PM | Duration 24h39 | Departure days Mon | Cheapest price $113 |
Operator Itabus | Departure Time 10:45PM | Arrival Time 02:30PM | Duration 15h45 | Departure days Fri, Sat | Cheapest price $24 |
Operator FlixBus | Departure Time 11:05PM | Arrival Time 04:20PM | Duration 17h15 | Departure days Mon, Tue | Cheapest price $132 |
Operator FlixBus | Departure Time 11:10PM | Arrival Time 04:20PM | Duration 17h10 | Departure days Mon | Cheapest price $124 |
Operator FlixBus | Departure Time 11:50PM | Arrival Time 04:20PM | Duration 16h30 | Departure days Tue | Cheapest price $132 |
Live departures
Milan to Grassano bus times
The table below shows live departures for Milan to Grassano buses for tomorrow, Tuesday, July 7. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus · FlixBus | 12:50 AM Assago, Viale Milanofiori (Assago M2) | 22h19 | 11:09 PM Ferrandina, Scalo Ferroviario | 2 transfers | |
FlixBus · FlixBus | 6:15 AM Milano, Autostazione Lampugnano | 16h54 | 11:09 PM Ferrandina, Scalo Ferroviario | 1 transfer | |
110 · 133 | 3:10 PM Milano, Autostazione Lampugnano | 13h40 | 4:50 AM Grassano, Scalo Ferroviario | 1 transfer | |
110 · 133 | 3:50 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 13h00 | 4:50 AM Grassano, Scalo Ferroviario | 1 transfer | |
2213 | 7:20 PM Milano, Autostazione Lampugnano | 13h10 | 8:30 AM Matera, Terminal Bus Via Don Luigi Sturzo | 0 transfersDirect | |
2213 | 8:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 12h25 | 8:30 AM Matera, Terminal Bus Via Don Luigi Sturzo | 0 transfersDirect | |
049 | 8:25 PM Milano, Autostazione Lampugnano | 13h00 | 9:25 AM Grassano, Scalo Ferroviario | 0 transfersDirect | |
083 · 049 | 8:30 PM Assago, Viale Milanofiori (Assago M2) | 12h55 | 9:25 AM Grassano, Scalo Ferroviario | 1 transfer | |
FlixBus · FlixBus | 9:00 PM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 19h20 | 4:20 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 1 transfer | |
049 | 9:05 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 12h20 | 9:25 AM Grassano, Scalo Ferroviario | 0 transfersDirect | |
FlixBus · FlixBus · FlixBus | 9:25 PM Assago, Viale Milanofiori (Assago M2) | 18h55 | 4:20 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 2 transfers | |
FlixBus · FlixBus | 11:05 PM Milano, Autostazione Lampugnano | 17h15 | 4:20 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 1 transfer | |
FlixBus · FlixBus | 11:50 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 16h30 | 4:20 PM Gravina in Puglia, Corso Giuseppe di Vittorio (Gravina in Puglia) | 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 Grassano by bus, train, or flight
Compare bus, train, and flight 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.
Jul 07
Jul 08
Jul 09
Jul 10
Jul 11
Jul 12
Jul 13
Why should you book Milan to Grassano buses with Omio?
Why book with Omio vs Marino Autolinee?
- Compare with other providers: On Omio, you can not only buy tickets for Marino Autolinee, but also compare tickets for the likes of Itabus to find the best option for your trip from Milan to Grassano.
- 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 Marino Autolinee with all available travel options, which are bus, train and flight to ensure you get the best deal for traveling from Milan to Grassano.
Why book with Omio over Checkmybus or Wanderu?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Itabus to find the best option for your trip from Milan to Grassano.
- Multiple modes of transport: Omio allows you to compare travel options including bus, train and flight to find the ideal travel option from Milan to Grassano.
Journey information
Overview: Bus from Milan to Grassano
Buses from Milan to Grassano run on average 27 times per day, taking around 12h 41m. Cheap bus tickets for this journey start at $21 (€17) if you book in advance.
There are 4 buses per day. The earliest bus runs at 00:10, the last at 23:55. The fastest bus covers the 489 miles (787 km) distance in 12h 25m.
Distance 489 miles (787 km) |
Average bus duration 12h 41m |
Cheapest ticket price $21 (€17) |
Buses per day 27 |
Direct buses 4 |
Fastest bus 12h 25m |
First bus 12:10 AM |
Last bus 11:55 PM |
Cheapest Month Mar |
Cheapest Day Wed |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Fri |
Best time to book 2 days |
Bus providers: Marino Autolinee, Itabus from Milan to GrassanoYou can travel by bus between Milan to Grassano with Marino Autolinee, Itabus for as low as $21 (€17). When you search for schedules and tickets, Omio will show you the best journey
Marino Autolinee
Itabus
FAQs: Bus from Milan to Grassano
Find answers to the most common questions about traveling from Milan to Grassano 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 Grassano, this guide helps you travel smarter and with confidence.

- Marino Autolinee
- Assistance
- Priority seating
- Accessible restrooms.
- Itabus
- Assistance
- Dedicated seating areas
- Accessible restrooms.
- Marino Autolinee
- You can cancel your ticket up to 24 hours before departure for a full refund. Cancellations within 24 hours incur a 50% fee.
- Itabus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Changes allowed for a fee.
- Marino Autolinee
- One carry-on bag up to 10kg (55x40x20 cm) and one checked bag up to 20kg (80x50x30 cm).
- Itabus
- One carry-on bag up to 10kg and one checked bag up to 20kg.
- Marino Autolinee
- 10€ per additional bag up to 20 kg.
- Itabus
- 5€ per additional bag.
- Marino Autolinee
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
- Itabus
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
popular bus stations
Popular bus stations from Milan to Grassano
Most Milan to Grassano buses use the Milano, San Donato - Settore B (Viale Giuseppe Impastato) to Matera, Via Don Luigi Sturzo station pair. Use this guide to compare Milan and Grassano bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Which Milan station do buses to Grassano leave from?
Getting to Milano, San Donato - Settore B (Viale Giuseppe Impastato) from Milan city centre
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) bus station facilities and services
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 and drink
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Tickets and information
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Parking, taxis and toilets
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
Getting to Milano, Autostazione Lampugnano from Milan city centre
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano bus station facilities and services
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance.
Tickets and information
Ticket office support is available at Milano, Autostazione Lampugnano.
Parking, taxis and toilets
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
Getting to Milano, Aeroporto di Milano Linate from Milan city centre
More options for your journey from Milan to Grassano
Here are some other resources that might have the information you need
