Travel Information
Compare train, bus, and flight for Milan to Orvieto
Omio recommends booking the train as it is the most popular option from Milan to Orvieto among Omio's users. If you are prioritising price, take the train, with an average ticket price of €34 For those with little time, consider booking a flight, which has an average total journey time of 3h 13m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.3kg. Average ticket prices depend on the travel mode: a train costs an average of €34, while a flight costs an average of €95.
Distance: 238 miles (384 km)
Compare train with
Most popular Train | Bus | Flight | Driving |
|---|---|---|---|
€34 Average price Cheapest | €47 Average price | €95 Average price | €123 Average price (fuel + tolls) |
5h 33m Average total duration 5h 3m Onboard + 30m Additional time* | 6h 10m Average total duration 5h 40m Onboard + 30m Additional time* | 3h 13m Average total duration Fastest 1h 13m Onboard + 2h 0m Additional time* | 5h 0m Average total duration (door-to-door) |
0.1 - 0.3kg CO2 emissions Lowest | 0.4 - 1.0kg CO2 emissions | 1.2 - 2.3kg CO2 emissions | - CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company | ![]() Most popular airline | Your own car or car rental |
Direct Options | 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 Milan to Orvieto:
A train is €13 less than a bus for this route with tickets for a bus from Milan to Orvieto costing on average €47.
A train is €61 less than a flight for this route with tickets for a flight from Milan to Orvieto costing on average €95.
Other travel options to Orvieto take longer:
Train takes on average 5h 33m.
Bus takes on average 6h 10m.
Tickets start at around €34 compared to roughly €123 in fuel and tolls — a saving of about €89. The journey takes 5h 3m versus 5h 0m by car, so you'll arrive a bit later, but you can work, read, or sleep along the way rather than spending the time behind the wheel. You'll also save the hassle of parking at the other end.
Driving is worth it if you're on a tight schedule, travelling as a group, or want to stop somewhere en route.
Travel optionsfrom Milan to Orvieto
How to get from Milan to Orvieto by train, bus or flight.
Our recommendation
The best way to travel from Milan to Orvieto is by taking a train because it’s the best combination of price and speed.
Regionale 2293 · Regionale 18515 · Regionale Veloce 41076:50 AM10h38Milan Centrale5:28 PMOrvieto station€461One-way2 transfers
Cheapest
Regionale 2293 · Regionale 18515 · Regionale Veloce 41076:50 AM10h38Milan Centrale5:28 PMOrvieto station€461One-way2 transfers
Fastest
AZ20299:00 AM1h10Milan Linate Airport10:10 AMRome Leonardo da Vinci Fiumicino Airport€791One-way0 transfers
Other options
InterCityNotte 79710:18 PM6h42Milan Porta Garibaldi5:00 AMOrvieto station€471One-way0 transfers
Regionale Veloce TTPER 2455+
Intercity 5847:20 AM6h51Milan Centrale2:11 PMOrvieto station€511One-way1 transfer
Intercity 583+
Regionale 18509 · Regionale Veloce 41036:05 AM7h21Milan Centrale1:26 PMOrvieto station€531One-way2 transfers
FlixBus · FlixBus11:10 PM8h35Milano, San Donato - Settore B (Viale Giuseppe Impastato)7:45 AMOrvieto Scalo, Stazione€501One-way1 transfer
FlixBus · FlixBus10:30 PM9h15Milano, Autostazione Lampugnano7:45 AMOrvieto Scalo, Stazione€511One-way1 transfer
FlixBus · FlixBus1:10 AM6h35Milano, San Donato - Settore B (Viale Giuseppe Impastato)7:45 AMOrvieto Scalo, Stazione€581One-way1 transfer
AZ20218:00 AM1h10Milan Linate Airport9:10 AMRome Leonardo da Vinci Fiumicino Airport€791One-way0 transfers
AZ21331:00 PM1h10Milan Linate Airport2:10 PMRome Leonardo da Vinci Fiumicino Airport€921One-way0 transfers
AZ204511:30 AM1h10Milan Linate Airport12:40 PMRome Leonardo da Vinci Fiumicino Airport€921One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, 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.
Sep 20
Sep 21
Sep 22
Sep 23
Sep 24
Sep 25
Sep 26
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Milan to Orvieto
Travel to Orvieto easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Milan to Orvieto.

This is compared to other travel options from Milan to Orvieto:
A train is €20 less than a bus for this route with tickets for a bus from Milan to Orvieto costing on average €55.
A train is €380 less than a flight for this route with tickets for a flight from Milan to Orvieto costing on average €415.
Other travel options to Orvieto take longer:
Train takes on average 5h 7m.
Bus takes on average 7h 0m.
- Around 51 trains per day.
- Around 28 flights per day.
- Around 4 buses per day.
However, we recommend checking specific travel dates for your route between Milan and Orvieto as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Milan Linate Airport and arrive in Rome Leonardo da Vinci Fiumicino Airport.
- Trains mostly depart from Milan Centrale and arrive in Orvieto station.
- Buses mostly depart from Milano, Autostazione Lampugnano and arrive in Orvieto Scalo, Stazione.
- Travel with Intercity, Regionale, Intercity Notte, Frecciarossa, Italo to go to Orvieto by train.
- Travel with Aeroitalia, ITA to go to Orvieto by flight.
- Travel with BlaBlaCar, FlixBus, Calanda Viaggi to go to Orvieto by bus.
- 2 direct trains per day with Intercity, Intercity Notte.
- 7 direct flights per day with Aeroitalia.
- 0 direct buses per day with BlaBlaCar, Calanda Viaggi.
Travelling from Milan to Orvieto: related information
Here are some other resources that might have the information you need

