Travel Information
Compare train and bus for London to Bath
Omio recommends booking the train as it is the most popular option from London to Bath among Omio's users. If you are prioritising price take the bus with prices starting from €5. For those with little time consider booking a train which can get you there in 2h 35m. 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 €5, and a train costs an average of €24.
Distance: 155 km
Compare train with
Most popular Train | Bus |
|---|---|
€43 Average price | €8 Average price Cheapest |
3h 5m Average total duration Fastest 2h 35m Onboard + 30m Additional time* | 3h 6m Average total duration 2h 36m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.2 - 0.4kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Travel optionsfrom London to Bath
How to get from London to Bath by train, bus or flight.
Our recommendation
The best way to travel from London to Bath is by taking a bus because it’s the best combination of price and speed.
NX40311:00 PM2h55London, Victoria Coach Station1:55 AMBath, Bus Station€101One-way0 transfers
Cheapest
NX40311:00 PM2h55London, Victoria Coach Station1:55 AMBath, Bus Station€101One-way0 transfers
Fastest
C059932:00 PM1h12London Paddington (PAD)3:12 PMBath Spa (BTH)€541One-way0 transfers
Other options
L79469+
W350558:45 PM2h36London Waterloo (WAT)11:21 PMBath Spa (BTH)€281One-way1 transfer
L79458+
W350537:45 PM2h42London Waterloo (WAT)10:27 PMBath Spa (BTH)€281One-way1 transfer
W347348:30 PM1h15London Paddington (PAD)9:45 PMBath Spa (BTH)€361One-way0 transfers
FlixBus9:45 PM2h50London, Earls Court Station (Warwick Road)12:35 AMBath, Bus Station€121One-way0 transfers
FlixBus9:30 PM3h05London, Victoria Coach Station12:35 AMBath, Bus Station€121One-way0 transfers
FlixBus7:30 PM3h00London, Victoria Coach Station10:30 PMBath, Bus Station€141One-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.
Aug 22
Aug 23
Aug 24
Aug 25
Aug 26
Aug 27
Aug 28
Aug 29
Aug 30
Aug 31
Sep 01
Sep 02
Sep 03
Sep 04
Sep 05
Sep 06
Sep 07
Sep 08
Sep 09
Sep 10
Sep 11
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from London to Bath
Travel to Bath 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 London to Bath.

This is compared to other travel options from London to Bath:
A bus is €35 less than a train for this route with tickets for a train from London to Bath costing on average €43.
Other travel options to Bath take longer:
Bus takes on average 2h 36m.
- Around 19 buses per day.
- Around 8 trains per day.
However, we recommend checking specific travel dates for your route between London and Bath as scheduled services by train and bus can vary by season or day of the week.
- Trains mostly depart from London Paddington (PAD) and arrive in Bath Spa (BTH).
- Buses mostly depart from London, Victoria Coach Station and arrive in Bath, Bus Station.
- Ferries mostly depart from Portsmouth Harbour and arrive in Fishbourne.
- Travel with National Express, FlixBus to go to Bath by bus.
- Travel with Great Western Railway, South Western Railway, Great Western Railway (GWR) to go to Bath by train.
- 14 direct buses per day with National Express, FlixBus.
- 6 direct trains per day with Great Western Railway, Great Western Railway (GWR).
Travelling from London to Bath: related information
Here are some other resources that might have the information you need
