Travel Information
Compare train and bus for Perugia to Siena
Omio recommends booking the bus as it is the most popular option from Perugia to Siena among Omio's users. If you are prioritising price take the bus with prices starting from $7. For those with little time consider booking a bus which can get you there in 1h 25m. 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 bus costs an average of $7, and a train costs an average of $18.
Distance: 55 miles (89 km)
Compare bus with
Most popular Bus | Train |
|---|---|
$11 Average price Cheapest | $19 Average price |
1h 55m Average total duration Fastest 1h 25m Onboard + 30m Additional time* | 3h 18m Average total duration 2h 48m 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.
Travel optionsfrom Perugia to Siena
How to get from Perugia to Siena by train, bus or flight.
Our recommendation
The best way to travel from Perugia to Siena is by taking a bus because it’s the best combination of price and speed.
FlixBus7:00 AM1h20Perugia, Piazza Partigiani8:20 AMSiena, Stazione FS (Piazzale Carlo Rosselli)$121One-way0 transfers
Cheapest
FlixBus7:00 AM1h20Perugia, Piazza Partigiani8:20 AMSiena, Stazione FS (Piazzale Carlo Rosselli)$121One-way0 transfers
Fastest
FlixBus7:00 AM1h20Perugia, Piazza Partigiani8:20 AMSiena, Stazione FS (Piazzale Carlo Rosselli)$121One-way0 transfers
Other options
Regionale Veloce 4072 · Regionale 4101 · Regionale 190829:52 AM4h00Perugia Università1:52 PMSiena station$211One-way2 transfers
Regionale Veloce 4072 · Regionale 4101 · Regionale 190829:48 AM4h04Perugia station1:52 PMSiena station$211One-way2 transfers
Regionale 7526 · Regionale 4099 · Regionale 190787:24 AM4h26Perugia station11:50 AMSiena station$211One-way2 transfers
FlixBus10:15 AM1h20Perugia, Viale Giovanni Perari (Parcheggio)11:35 AMSiena, Stazione FS (Piazzale Carlo Rosselli)$341One-way0 transfers
FlixBus4:35 PM1h30Perugia, Piazza Partigiani6:05 PMSiena, Stazione FS (Piazzale Carlo Rosselli)$231One-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 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.
Apr 12
Apr 13
Apr 14
Apr 15
Apr 16
Apr 17
Apr 18
Apr 19
Apr 20
Apr 21
Apr 22
Apr 23
Apr 24
Apr 25
Apr 26
Apr 27
Apr 28
Apr 29
Apr 30
May 01
May 02
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Perugia to Siena
Travel to Siena 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 Perugia to Siena.

This is compared to other travel options from Perugia to Siena:
A bus is $11 (€9) less than a train for this route with tickets for a train from Perugia to Siena costing on average $18 (€15).
Other travel options to Siena take longer:
Train takes on average 2h 52m.
- Around 28 trains per day.
- Around 5 buses per day.
However, we recommend checking specific travel dates for your route between Perugia and Siena as scheduled services by train and bus can vary by season or day of the week.
- Trains mostly depart from Perugia station and arrive in Siena station.
- Buses mostly depart from Perugia, Piazza Partigiani and arrive in Siena, Stazione FS (Piazzale Carlo Rosselli).
- Travel with Regionale, Intercity, Frecciarossa to go to Siena by train.
- Travel with FlixBus, BlaBlaCar, Infobus to go to Siena by bus.
- 5 direct buses per day with FlixBus, BlaBlaCar.
Travelling from Perugia to Siena: related information
Here are some other resources that might have the information you need
