The cheapest and fastest coaches from Turin to Milan
Cheapest price
$5
Average price
$25
Fastest journey
1 h 30 m
Average duration
1 h 32 m
Buses per day
190
Distance
125 km
The best way to find a cheap coach ticket from Turin to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Turin to Milan will cost around $25 if you buy it on the day, but you can find cheap coach tickets today for only $5.
Of the 190 buses that leave Turin for Milan every day 146 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct buses cover the 125 km distance in an average of 1 h 32 m but if you time it right, some buses will get you there in just 1 h 30 m .
The slowest buses will take 1 h 35 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.
2891
2809
2125
2805
2807
201
049
2809
2807Travel Information
Compare train and coach for Turin to Milan
Omio recommends booking the coach as it is the most popular option from Turin to Milan among Omio's users. If you are prioritising price take the coach with prices starting from $3. For those with little time consider booking a train which can get you there in 1h 30m. 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 coach costs an average of $3, and a train costs an average of $12.
Distance: 125 km
Compare bus with
Most popular Coach | Train |
|---|---|
$7 Average Price Cheapest | $14 Average Price |
2h 15m Average total duration 1h 45m Onboard + 30m Additional time* | 2h 0m Average total duration Fastest 1h 30m Onboard + 30m Additional time* |
0.1 - 0.3kg 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.
Live departures
Turin to Milan bus times
The table below shows live departures for Turin to Milan coaches for today, Wednesday, 25 March. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
![]() | 7:45 pm Turin | 1h35 | 9:20 pm Milan | 0 changesdirect | |
![]() | 9:10 pm Turin | 2h25 | 11:35 pm Milan | 0 changesdirect | |
2807 | 11:10 pm Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h00 | 1:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 11:30 pm Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h45 | 1:15 am Milano, Autostazione Lampugnano | 0 changesdirect | |
2807 | 11:35 pm Torino, Stazione Torino Stura | 1h35 | 1:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 1:00 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 3:10 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
Flibco | 1:20 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 3:10 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
Flibco | 1:35 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 3:10 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129 | 2:00 am Torino, Autostazione Corso Bolzano | 2h00 | 4:00 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10314 | 2:00 am Torino, Autostazione Corso Bolzano | 3h55 | 5:55 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10318 | 2:00 am Torino, Autostazione Corso Bolzano | 4h55 | 6:55 am Milan Porta Garibaldi | 1 change | |
129 | 2:00 am Torino, Autostazione Corso Bolzano | 1h55 | 3:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10316 | 2:00 am Torino, Autostazione Corso Bolzano | 4h25 | 6:25 am Milan Porta Garibaldi | 1 change | |
Flibco | 2:45 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 4:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
Flibco | 3:05 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 4:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10324 | 3:10 am Torino, Autostazione Corso Bolzano | 4h45 | 7:55 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10318 | 3:10 am Torino, Autostazione Corso Bolzano | 3h45 | 6:55 am Milan Porta Garibaldi | 1 change | |
129 | 3:10 am Torino, Autostazione Corso Bolzano | 1h55 | 5:05 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129 | 3:10 am Torino, Autostazione Corso Bolzano | 2h00 | 5:10 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10322 | 3:10 am Torino, Autostazione Corso Bolzano | 4h15 | 7:25 am Milan Porta Garibaldi | 1 change | |
Flibco | 3:20 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 4:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 3:45 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h45 | 5:30 am Milano, Autostazione Lampugnano | 0 changesdirect | |
129+ Regionale TRENORD 10332 | 4:30 am Torino, Autostazione Corso Bolzano | 4h55 | 9:25 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10330 | 4:30 am Torino, Autostazione Corso Bolzano | 4h25 | 8:55 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10326 | 4:30 am Torino, Autostazione Corso Bolzano | 3h55 | 8:25 am Milan Porta Garibaldi | 1 change | |
129 | 4:30 am Torino, Autostazione Corso Bolzano | 2h00 | 6:30 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129 | 4:30 am Torino, Autostazione Corso Bolzano | 1h55 | 6:25 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 4:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 6:20 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 4:45 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 6:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
Flibco | 5:05 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 6:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 5:20 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h05 | 7:25 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 5:20 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 6:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
201 | 5:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h40 | 8:10 am Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
201 | 5:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h55 | 7:25 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 5:45 am Torino, Stazione Torino Stura | 1h40 | 7:25 am Milano, Autostazione Lampugnano | 0 changesdirect | |
3801 | 5:50 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h45 | 8:35 am Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
3801 | 5:50 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h00 | 7:50 am Milano, Autostazione Lampugnano | 0 changesdirect | |
201 | 5:55 am Torino, Stazione Torino Stura | 1h30 | 7:25 am Milano, Autostazione Lampugnano | 0 changesdirect | |
201 | 5:55 am Torino, Stazione Torino Stura | 2h15 | 8:10 am Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
129+ Regionale TRENORD 10336 | 6:00 am Torino, Autostazione Corso Bolzano | 4h25 | 10:25 am Milan Porta Garibaldi | 1 change | |
2891 | 6:00 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h55 | 7:55 am Milano, Autostazione Lampugnano | 0 changesdirect | |
129 | 6:00 am Torino, Autostazione Corso Bolzano | 1h55 | 7:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 6:00 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 7:50 am Milano, Autostazione Lampugnano | 0 changesdirect | |
129 | 6:00 am Torino, Autostazione Corso Bolzano | 2h00 | 8:00 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10334 | 6:00 am Torino, Autostazione Corso Bolzano | 3h55 | 9:55 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10338 | 6:00 am Torino, Autostazione Corso Bolzano | 4h55 | 10:55 am Milan Porta Garibaldi | 1 change | |
3801 | 6:15 am Torino, Stazione Torino Stura | 1h35 | 7:50 am Milano, Autostazione Lampugnano | 0 changesdirect | |
3801 | 6:15 am Torino, Stazione Torino Stura | 2h20 | 8:35 am Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
2125 | 6:25 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 3h05 | 9:30 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 6:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 8:20 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 6:30 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 8:40 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
2125 | 6:50 am Torino, Stazione Torino Stura | 2h40 | 9:30 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 6:50 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 8:40 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10340 | 7:00 am Torino, Autostazione Corso Bolzano | 4h25 | 11:25 am Milan Porta Garibaldi | 1 change | |
129 | 7:00 am Torino, Autostazione Corso Bolzano | 1h55 | 8:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10342 | 7:00 am Torino, Autostazione Corso Bolzano | 4h55 | 11:55 am Milan Porta Garibaldi | 1 change | |
129 | 7:00 am Torino, Autostazione Corso Bolzano | 2h00 | 9:00 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10338 | 7:00 am Torino, Autostazione Corso Bolzano | 3h55 | 10:55 am Milan Porta Garibaldi | 1 change | |
Flibco | 7:05 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 8:40 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 7:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 9:20 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 7:40 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 9:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus · FlixBus | 7:45 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 6h45 | 2:30 pm Milano, Milan Linate Airport | 1 change | |
129 | 8:00 am Torino, Autostazione Corso Bolzano | 1h55 | 9:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10342 | 8:00 am Torino, Autostazione Corso Bolzano | 3h55 | 11:55 am Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10346 | 8:00 am Torino, Autostazione Corso Bolzano | 4h55 | 12:55 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10344 | 8:00 am Torino, Autostazione Corso Bolzano | 4h25 | 12:25 pm Milan Porta Garibaldi | 1 change | |
129 | 8:00 am Torino, Autostazione Corso Bolzano | 2h00 | 10:00 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
Flibco | 8:00 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 9:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
165 | 8:05 am Torino, Autostazione Corso Bolzano | 2h00 | 10:05 am Milan, MILANO - P.zza Laghi usc.autostrada new svinc | 0 changesdirect | |
165 | 8:05 am Torino, Autostazione Corso Bolzano | 2h05 | 10:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus · FlixBus | 8:10 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 6h20 | 2:30 pm Milano, Milan Linate Airport | 1 change | |
165 | 8:13 am Turin, Corso Giulio Cesare (Borgo Dora) | 1h52 | 10:05 am Milan, MILANO - P.zza Laghi usc.autostrada new svinc | 0 changesdirect | |
165 | 8:13 am Turin, Corso Giulio Cesare (Borgo Dora) | 1h57 | 10:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 8:15 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 9:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
165 | 8:16 am Torino, Corso Giulio Cesare (Fermata 140) | 1h49 | 10:05 am Milan, MILANO - P.zza Laghi usc.autostrada new svinc | 0 changesdirect | |
165 | 8:16 am Torino, Corso Giulio Cesare (Fermata 140) | 1h54 | 10:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
165 | 8:20 am Torino, Corso Giulio Cesare (Iveco) | 1h45 | 10:05 am Milan, MILANO - P.zza Laghi usc.autostrada new svinc | 0 changesdirect | |
165 | 8:20 am Torino, Corso Giulio Cesare (Iveco) | 1h50 | 10:10 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 8:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 10:20 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 8:30 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h50 | 11:20 am Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 changesdirect | |
2805 | 8:40 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h00 | 10:40 am Milano, Autostazione Lampugnano | 0 changesdirect | |
129+ Regionale TRENORD 10346 | 9:00 am Torino, Autostazione Corso Bolzano | 3h55 | 12:55 pm Milan Porta Garibaldi | 1 change | |
129 | 9:00 am Torino, Autostazione Corso Bolzano | 1h55 | 10:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10350 | 9:00 am Torino, Autostazione Corso Bolzano | 4h55 | 1:55 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10348 | 9:00 am Torino, Autostazione Corso Bolzano | 4h25 | 1:25 pm Milan Porta Garibaldi | 1 change | |
129 | 9:00 am Torino, Autostazione Corso Bolzano | 2h00 | 11:00 am Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
2805 | 9:05 am Torino, Stazione Torino Stura | 1h35 | 10:40 am Milano, Autostazione Lampugnano | 0 changesdirect | |
FlixBus | 9:05 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h45 | 10:50 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 9:40 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 11:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 9:55 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 11:45 am Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 10:00 am Torino, Corso Inghilterra (Porta Susa) | 1h50 | 11:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10352 | 10:00 am Torino, Autostazione Corso Bolzano | 4h25 | 2:25 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10350 | 10:00 am Torino, Autostazione Corso Bolzano | 3h55 | 1:55 pm Milan Porta Garibaldi | 1 change | |
129 | 10:00 am Torino, Autostazione Corso Bolzano | 1h55 | 11:55 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129 | 10:00 am Torino, Autostazione Corso Bolzano | 2h00 | 12:00 pm Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10354 | 10:00 am Torino, Autostazione Corso Bolzano | 4h55 | 2:55 pm Milan Porta Garibaldi | 1 change | |
Flibco | 10:15 am Torino, Corso Giulio Cesare (Auchan) | 1h35 | 11:50 am Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
FlixBus | 10:40 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h40 | 12:20 pm Milano, Autostazione Lampugnano | 0 changesdirect | |
129 | 11:00 am Torino, Autostazione Corso Bolzano | 1h55 | 12:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10356 | 11:00 am Torino, Autostazione Corso Bolzano | 4h25 | 3:25 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10358 | 11:00 am Torino, Autostazione Corso Bolzano | 4h55 | 3:55 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10354 | 11:00 am Torino, Autostazione Corso Bolzano | 3h55 | 2:55 pm Milan Porta Garibaldi | 1 change | |
129 | 11:00 am Torino, Autostazione Corso Bolzano | 2h00 | 1:00 pm Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
FlixBus | 11:35 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 1h50 | 1:25 pm Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 11:45 am Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 1:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
2809 | 11:55 am Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h00 | 1:55 pm Milano, Autostazione Lampugnano | 0 changesdirect | |
129+ Regionale TRENORD 10362 | 12:00 pm Torino, Autostazione Corso Bolzano | 4h55 | 4:55 pm Milan Porta Garibaldi | 1 change | |
129 | 12:00 pm Torino, Autostazione Corso Bolzano | 2h00 | 2:00 pm Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10360 | 12:00 pm Torino, Autostazione Corso Bolzano | 4h25 | 4:25 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10358 | 12:00 pm Torino, Autostazione Corso Bolzano | 3h55 | 3:55 pm Milan Porta Garibaldi | 1 change | |
129 | 12:00 pm Torino, Autostazione Corso Bolzano | 1h55 | 1:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
Flibco | 12:05 pm Torino, Corso Inghilterra (Porta Susa) | 1h50 | 1:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
2809 | 12:20 pm Torino, Stazione Torino Stura | 1h35 | 1:55 pm Milano, Autostazione Lampugnano | 0 changesdirect | |
Flibco | 12:20 pm Torino, Corso Giulio Cesare (Auchan) | 1h35 | 1:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
3491 | 12:50 pm Torino, Corso Vittorio Emanuele II (Terminal Bus) | 2h00 | 2:50 pm Milano, Autostazione Lampugnano | 0 changesdirect | |
129 | 1:00 pm Torino, Autostazione Corso Bolzano | 2h00 | 3:00 pm Ferno, Aeroporto di Milano-Malpensa T2 | 0 changesdirect | |
129+ Regionale TRENORD 10366 | 1:00 pm Torino, Autostazione Corso Bolzano | 4h25 | 5:25 pm Milan Porta Garibaldi | 1 change | |
129+ Regionale TRENORD 10368 | 1:00 pm Torino, Autostazione Corso Bolzano | 4h55 | 5:55 pm Milan Porta Garibaldi | 1 change | |
Flibco | 1:00 pm Turin, Via Mario Pannunzio / Corso Caio Plinio (Stazione Lingotto) | 2h10 | 3:10 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129 | 1:00 pm Torino, Autostazione Corso Bolzano | 1h55 | 2:55 pm Ferno, Aeroporto di Milano-Malpensa T1 | 0 changesdirect | |
129+ Regionale TRENORD 10362 | 1:00 pm Torino, Autostazione Corso Bolzano | 3h55 | 4:55 pm Milan Porta Garibaldi | 1 change | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Turin to Milan by train or coach
Compare train and coach 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.
25 Mar
26 Mar
27 Mar
28 Mar
29 Mar
30 Mar
31 Mar
01 Apr
02 Apr
03 Apr
04 Apr
05 Apr
06 Apr
07 Apr
08 Apr
09 Apr
10 Apr
11 Apr
12 Apr
13 Apr
14 Apr
Why should you book Turin to Milan coaches with Omio?
Why book with Omio vs Itabus?
- Compare with other providers: On Omio, you can not only buy tickets for Itabus, but also compare tickets for the likes of FlixBus, BlaBlaCar Bus, Marino Autolinee or flibco to find the best option for your trip from Turin 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 Itabus with all available travel options, which are train and bus to ensure you get the best deal for traveling from Turin to Milan.
Why book with Omio over Checkmybus, Wanderu or Trainline?
- Compare with other providers: On Omio, you can also compare tickets for the likes of FlixBus, BlaBlaCar Bus, Marino Autolinee or flibco to find the best option for your trip from Turin to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train and bus to find the ideal travel option from Turin to Milan.
Journey information
Overview: Bus from Turin to Milan
Buses from Turin to Milan run on average 149 times per day, taking around 1h 45m. Cheap bus tickets for this journey start at $3 if you book in advance.
There are 147 coaches per day. The earliest coach runs at 00:03, the last at 23:56. The fastest coach covers the 125 km distance in 1h 30m.
Distance 125 km |
Average bus duration 1h 45m |
Cheapest ticket price $3 |
Buses per day 149 |
Direct buses 147 |
Fastest bus 1h 30m |
First bus 00:03 |
Last bus 23:56 |
Bus providers: Itabus, FlixBus, BlaBlaCar Bus, Marino Autolinee, flibco, Autostradale/Arriva, Autostradale, Flibco, BlaBlaCar, GoOpti from Turin to MilanYou can travel by bus between Turin to Milan with Itabus, FlixBus, BlaBlaCar Bus, Marino Autolinee, flibco, Autostradale/Arriva, Autostradale, Flibco, BlaBlaCar, GoOpti for as low as $3. When you search for schedules and tickets, Omio will show you the best journey
Itabus
FlixBus
Marino Autolinee
BlaBlaCar Bus
Autostradale
Flibco
GoOpti
flibco
Autostradale/Arriva
BlaBlaCar
FAQs: Turin to Milan coach
Find answers to the most common questions about traveling from Turin to Milan by coach. 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 coach, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

- BlaBlaCar Bus
- Assistance
- Priority boarding
- Accessible seating options.
- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- Itabus
- Assistance
- Dedicated seating areas
- Accessible restrooms.
- BlaBlaCar Bus
- You can cancel your ticket up to 30 minutes before departure for a refund in the form of a voucher.
- 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.
- Itabus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Changes allowed for a fee.
- BlaBlaCar Bus
- One carry-on bag up to 7kg and one checked bag up to 20kg.
- FlixBus
- One carry-on bag up to 7kg (42x30x18 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.
- BlaBlaCar Bus
- Additional luggage can be purchased for a fee.
- FlixBus
- Additional luggage can be purchased for a fee.
- Itabus
- 5€ per additional bag.
- Marino Autolinee
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
- Itabus
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
popular bus stations
Important Stations and Airports in Turin and Milan
- 06:00-23:00
- Free Wi-Fi
- Cafeteria Terminal (in the station)
- Ristorante Italia (0.2 km)
- Trattoria Torino (0.5 km).
- Available outside the terminal.
- Elevators, ramps
- Available in the station.
- Bus: 5, 11, 55 Metro: M1 Train: Porta Nuova Station
- 06:00-20:00
- Free Wi-Fi
- Cafeteria Autostazione (in the station)
- Trattoria Torino (0.5 km)
- Osteria Bolzano (0.7 km).
- Available outside the main entrance.
- Elevators, ramps
- Available in the station.
- Bus: 11, 55, 57 Metro: M1 Train: SFM1, SFM2
- 06:00-23:00
- Free Wi-Fi
- Cafeteria Lampugnano (in the station)
- Trattoria Milano (0.5 km)
- Pizza Express (0.7 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Metro: M1 Bus: 68, 78, 80
- 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 Turin to Milan
Here are some other resources that might have the information you need






