The cheapest and fastest coaches from Bristol to Porto
Cheapest price
£101
Average price
£141
Fastest journey
1 d 14 h 5 m
Average duration
1 d 16 h 58 m
Buses per day
4
Distance
1235 km
The best way to find a cheap coach ticket from Bristol to Porto is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Bristol to Porto will cost around £141 if you buy it on the day, but you can find cheap coach tickets today for only £101.
Of the 4 buses that leave Bristol for Porto every day 4 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct buses cover the 1235 km distance in an average of 1 d 16 h 58 m but if you time it right, some buses will get you there in just 1 d 14 h 5 m .
The slowest buses will take 1 d 19 h 10 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.








Travel Information
Compare coach and flight for Bristol to Porto
Omio recommends booking the flight as it is the most popular option from Bristol to Porto among Omio's users. If you are prioritising price take the flight with prices starting from £27. For those with little time consider booking a flight which can get you there in 2h 8m. The ticket price range depends on the travel mode: a flight costs an average of £27, and a coach costs an average of £61.
Distance: 1235 km
Compare bus with
| Coach | Most popular Flight |
|---|---|
£122 Average Price | £82 Average Price Cheapest |
41h 35m Average total duration 41h 5m Onboard + 30m Additional time* | 5h 8m Average total duration Fastest 2h 8m Onboard + 3h 0m Additional time* |
Direct Options | Direct Options |
Live departures
Bristol to Porto bus times
The table below shows live departures for Bristol to Porto coaches for today, Thursday 19 February. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
![]() | 19:05 Bristol | 48h10 | 19:15 Porto | 0 changesdirect | |
| Friday 20 February | |||||
![]() | 06:05 Bristol | 38h05 | 20:10 Porto | 0 changesdirect | |
![]() | 16:00 Bristol | 39h35 | 07:35 Porto | 0 changesdirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Bristol to Porto by coach or flight
Compare coach 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.
20 Feb
21 Feb
22 Feb
23 Feb
24 Feb
25 Feb
26 Feb
Journey information
Overview: Bus from Bristol to Porto
Buses from Bristol to Porto run on average 3 times per day, taking around 41h 5m. Cheap bus tickets for this journey start at £61 but you can travel from only £27 by flight.
The earliest coach runs at 01:40, the last at 23:35. The fastest coach covers the 1235 km distance in 38h 5m.
Distance 1235 km |
Average bus duration 41h 5m |
Cheapest ticket price £61 |
Buses per day 3 |
Fastest bus 38h 5m |
First bus 01:40 |
Last bus 23:35 |
FAQs: Bristol to Porto coach
Find answers to the most common questions about traveling from Bristol to Porto 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 Porto, this guide helps you travel smarter and with confidence.

popular bus stations
Important Stations and Airports in Bristol and Porto
- 06:00-23:00
- Free Wi-Fi
- Cafetaria Terminal (in the station)
- Restaurante Campanhã (0.5 km)
- Tasquinha do Caco (0.7 km).
- Available outside the main entrance.
- Elevators
- Available in the station.
- Bus: 205, 206, 207 Metro: A, B, C, E Train: Urban, Regional
Most popular bus connections from Bristol
More options for your journey from Bristol to Porto
Here are some other resources that might have the information you need
