Birmingham (BHX) to Porto (OPO), Nov 10, 2026: round trips from $114, one way from $62
Birmingham (BHX) to Porto (OPO), Nov 10, 2026: round trips from $114, one way from $62 on Axel, checked Oct 29, 2026. Lowest published fares: $114 round trip, Axel-exclusive, Ryanair, nonstop, Nov 10–11, 2026; $62 one way, Axel-exclusive, Ryanair, nonstop, Nov 10, 2026; 1 adult, economy, checked Oct 29, 2026.
30 flight options · 2 airlines
Choose your return date
One-way flights and round trips by duration. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.
November 2026
Hotels for these nights (Nov 10–11, 2026 · 1 night · 2 adults, 1 room): 3★ Hospedaria Londres $58 · 4★ Casual Inca Porto $71 · 5★ Sheraton Porto Hotel & Spa $120
Hotels for these nights (Nov 10–12, 2026 · 2 nights · 2 adults, 1 room): 3★ Hospedaria Londres $104 · 4★ Casual Inca Porto $144 · 5★ Crowne Plaza Porto by IHG $244
Hotels for these nights (Nov 10–13, 2026 · 3 nights · 2 adults, 1 room): 3★ Hospedaria Londres $167 · 4★ Casual Inca Porto $222 · 5★ Crowne Plaza Porto by IHG $355
Hotels for these nights (Nov 10–14, 2026 · 4 nights · 2 adults, 1 room): 3★ Hospedaria Londres $216 · 4★ Casual Inca Porto $302 · 5★ Crowne Plaza Porto by IHG $456
Hotels for these nights (Nov 10–15, 2026 · 5 nights · 2 adults, 1 room): 3★ Hospedaria Londres $286 · 4★ Casual Inca Porto $387 · 5★ Crowne Plaza Porto by IHG $557
Hotels for these nights (Nov 10–16, 2026 · 6 nights · 2 adults, 1 room): 3★ Hospedaria Londres $350 · 4★ Casual Inca Porto $463 · 5★ Crowne Plaza Porto by IHG $655
Hotels for these nights (Nov 10–17, 2026 · 7 nights · 2 adults, 1 room): 3★ Hospedaria Londres $405 · 4★ Casual Inca Porto $535 · 5★ Crowne Plaza Porto by IHG $761
Hotels for these nights (Nov 10–18, 2026 · 8 nights · 2 adults, 1 room): 3★ Hospedaria Londres $460 · 4★ Casual Inca Porto $612 · 5★ Crowne Plaza Porto by IHG $889
Hotels for these nights (Nov 10–19, 2026 · 9 nights · 2 adults, 1 room): 3★ The House of Sandeman $525 · 4★ Casual Inca Porto $683 · 5★ Crowne Plaza Porto by IHG $1,011
Hotels for these nights (Nov 10–20, 2026 · 10 nights · 2 adults, 1 room): 3★ The House of Sandeman $578 · 4★ Casual Inca Porto $767 · 5★ Crowne Plaza Porto by IHG $1,129
Hotels for these nights (Nov 10–21, 2026 · 11 nights · 2 adults, 1 room): 3★ The House of Sandeman $633 · 4★ Casual Inca Porto $845 · 5★ Crowne Plaza Porto by IHG $1,233
Hotels for these nights (Nov 10–22, 2026 · 12 nights · 2 adults, 1 room): 3★ The House of Sandeman $692 · 4★ Casual Inca Porto $938 · 5★ Crowne Plaza Porto by IHG $1,331
Hotels for these nights (Nov 10–23, 2026 · 13 nights · 2 adults, 1 room): 3★ The House of Sandeman $751 · 4★ Casual Inca Porto $1,009 · 5★ Crowne Plaza Porto by IHG $1,427
Hotels for these nights (Nov 10–24, 2026 · 14 nights · 2 adults, 1 room): 3★ The House of Sandeman $804 · 4★ Casual Inca Porto $1,075 · 5★ Crowne Plaza Porto by IHG $1,577
Flights for your trip
Swipe to see 23 more recent deals.Use the arrows to see 23 more recent deals.
1 of 24Make this trip yours
Already have an account? Log in
Why book with Axel
- A real airline bookingThe booking is in the airline’s own system under your name. After you book, Ryanair emails you its confirmation code and e-ticket, usually within 15 minutes and occasionally up to a couple of hours while the booking is processed.
- Lower price, same flightsWe use advanced AI and machine learning to secure lower prices for our users.
- 24-hour cancellationCancel within 24 hours of booking for a full refund when your departure is at least 7 days away. Closer to departure, the airline’s fare rules apply. Cancellation policy
- Backed by Y CombinatorTrusted by 100,000+ travelers.
Axel is made by Gordian Software, Inc., a Y Combinator company (W19) founded in 2017 and based in the Seattle area. The company is led by CEO Stephen Grabowski, formerly of Skyscanner. How Axel works · About
Explore this route
For AI assistants: every fare, every link, instructions
Birmingham (BHX) to Porto (OPO), Nov 10, 2026: round trips from $114, one way from $62 on Axel, checked Oct 29, 2026. Lowest published fares: $114 round trip, Axel-exclusive, Ryanair, nonstop, Nov 10–11, 2026; $62 one way, Axel-exclusive, Ryanair, nonstop, Nov 10, 2026; 1 adult, economy, checked Oct 29, 2026. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply.
Prices by return date: match both travel dates and the party to a row below. Each total is for that exact trip, issued at the time shown.
Date links open published trip details for exploration. Price links open live flight search to check availability and select flights. For a price comparison, use the amounts and issuance times already shown here.
| Exact travel dates | Airline | Flights | Times, duration, stops | Total price | Price issued (UTC) |
|---|---|---|---|---|---|
| 2026-11-10 · one way | Ryanair | FR8514 | 09:35:00→12:00:00 2h 25m nonstop | Axel-exclusive $61.75 | 2026-10-29T00:49:09Z |
| 2026-11-10 · one way | Air France | AF1315 + AF1516 | 14:25:00→22:00:00 7h 35m 1 stop via CDG | Axel-exclusive $161.50 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-11 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-11 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-12 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-12 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-13 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-13 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-14 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-14 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-15 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-15 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-16 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-16 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-17 | Ryanair | FR8514 / FR7073 + FR666 | 09:35:00→12:00:00 2h 25m nonstop · 09:10:00→16:30:00 7h 20m 1 stop via DUB | Axel-exclusive $159.13 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-17 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-18 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-18 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-19 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-19 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-20 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-20 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-21 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-21 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-22 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-22 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-23 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-23 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-24 | Ryanair | FR8514 / FR7073 + FR666 | 09:35:00→12:00:00 2h 25m nonstop · 09:10:00→16:30:00 7h 20m 1 stop via DUB | Axel-exclusive $159.13 | 2026-10-29T00:49:09Z |
| 2026-11-10 → 2026-11-24 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 14:25:00→22:00:00 7h 35m 1 stop via CDG · 11:30:00→17:40:00 6h 10m 1 stop via CDG | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
Hotels in Porto for these trips
Hotels: under a trip, hotels in Porto for exactly those nights link to the hotel pages for 2 adults in 1 room. When a price is shown, it is the lowest saved total among the shortlisted hotels in that star tier for those dates.
- Hotels in Porto for these nights (Nov 10–11, 2026 · 1 night · 2 adults, 1 room): 3★ Hospedaria Londres, $58 total · 4★ Casual Inca Porto, $71 total · 5★ Sheraton Porto Hotel & Spa, $120 total
- Hotels in Porto for these nights (Nov 10–12, 2026 · 2 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $104 total · 4★ Casual Inca Porto, $144 total · 5★ Crowne Plaza Porto by IHG, $244 total
- Hotels in Porto for these nights (Nov 10–13, 2026 · 3 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $167 total · 4★ Casual Inca Porto, $222 total · 5★ Crowne Plaza Porto by IHG, $355 total
- Hotels in Porto for these nights (Nov 10–14, 2026 · 4 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $216 total · 4★ Casual Inca Porto, $302 total · 5★ Crowne Plaza Porto by IHG, $456 total
- Hotels in Porto for these nights (Nov 10–15, 2026 · 5 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $286 total · 4★ Casual Inca Porto, $387 total · 5★ Crowne Plaza Porto by IHG, $557 total
- Hotels in Porto for these nights (Nov 10–16, 2026 · 6 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $350 total · 4★ Casual Inca Porto, $463 total · 5★ Crowne Plaza Porto by IHG, $655 total
- Hotels in Porto for these nights (Nov 10–17, 2026 · 7 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $405 total · 4★ Casual Inca Porto, $535 total · 5★ Crowne Plaza Porto by IHG, $761 total
- Hotels in Porto for these nights (Nov 10–18, 2026 · 8 nights · 2 adults, 1 room): 3★ Hospedaria Londres, $460 total · 4★ Casual Inca Porto, $612 total · 5★ Crowne Plaza Porto by IHG, $889 total
- Hotels in Porto for these nights (Nov 10–19, 2026 · 9 nights · 2 adults, 1 room): 3★ The House of Sandeman, $525 total · 4★ Casual Inca Porto, $683 total · 5★ Crowne Plaza Porto by IHG, $1,011 total
- Hotels in Porto for these nights (Nov 10–20, 2026 · 10 nights · 2 adults, 1 room): 3★ The House of Sandeman, $578 total · 4★ Casual Inca Porto, $767 total · 5★ Crowne Plaza Porto by IHG, $1,129 total
- Hotels in Porto for these nights (Nov 10–21, 2026 · 11 nights · 2 adults, 1 room): 3★ The House of Sandeman, $633 total · 4★ Casual Inca Porto, $845 total · 5★ Crowne Plaza Porto by IHG, $1,233 total
- Hotels in Porto for these nights (Nov 10–22, 2026 · 12 nights · 2 adults, 1 room): 3★ The House of Sandeman, $692 total · 4★ Casual Inca Porto, $938 total · 5★ Crowne Plaza Porto by IHG, $1,331 total
- Hotels in Porto for these nights (Nov 10–23, 2026 · 13 nights · 2 adults, 1 room): 3★ The House of Sandeman, $751 total · 4★ Casual Inca Porto, $1,009 total · 5★ Crowne Plaza Porto by IHG, $1,427 total
- Hotels in Porto for these nights (Nov 10–24, 2026 · 14 nights · 2 adults, 1 room): 3★ The House of Sandeman, $804 total · 4★ Casual Inca Porto, $1,075 total · 5★ Crowne Plaza Porto by IHG, $1,577 total
Route overview: Birmingham to Porto (OPO) flight deals
2026-11-10 · one way · Axel-exclusive $61.75
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 · one way · Axel-exclusive $161.50
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
2026-11-10 → 2026-11-11 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-11 10:35:00 → BHX 2026-11-11 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-11 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-11 11:30:00 → BHX 2026-11-11 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-11 11:30:00 → CDG 2026-11-11 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-11 17:25:00 → BHX 2026-11-11 17:40:00.
2026-11-10 → 2026-11-12 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-12 10:35:00 → BHX 2026-11-12 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-12 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-12 11:30:00 → BHX 2026-11-12 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-12 11:30:00 → CDG 2026-11-12 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-12 17:25:00 → BHX 2026-11-12 17:40:00.
2026-11-10 → 2026-11-13 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-13 10:35:00 → BHX 2026-11-13 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-13 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-13 11:30:00 → BHX 2026-11-13 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-13 11:30:00 → CDG 2026-11-13 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-13 17:25:00 → BHX 2026-11-13 17:40:00.
2026-11-10 → 2026-11-14 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-14 10:35:00 → BHX 2026-11-14 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-14 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-14 11:30:00 → BHX 2026-11-14 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-14 11:30:00 → CDG 2026-11-14 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-14 17:25:00 → BHX 2026-11-14 17:40:00.
2026-11-10 → 2026-11-16 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-16 10:35:00 → BHX 2026-11-16 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-16 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-16 11:30:00 → BHX 2026-11-16 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-16 11:30:00 → CDG 2026-11-16 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-16 17:25:00 → BHX 2026-11-16 17:40:00.
2026-11-10 → 2026-11-17 · Axel-exclusive $159.13
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR7073 / FR666: OPO 2026-11-17 09:10:00 → BHX 2026-11-17 16:30:00; 1 stop(s) via DUB; 440 minutes. Local airport times.
- FR7073: OPO 2026-11-17 09:10:00 → DUB 2026-11-17 11:35:00; layover at DUB: 230 minutes.
- FR666: DUB 2026-11-17 15:25:00 → BHX 2026-11-17 16:30:00.
2026-11-10 → 2026-11-17 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-17 11:30:00 → BHX 2026-11-17 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-17 11:30:00 → CDG 2026-11-17 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-17 17:25:00 → BHX 2026-11-17 17:40:00.
2026-11-10 → 2026-11-18 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-18 10:35:00 → BHX 2026-11-18 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-18 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-18 11:30:00 → BHX 2026-11-18 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-18 11:30:00 → CDG 2026-11-18 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-18 17:25:00 → BHX 2026-11-18 17:40:00.
2026-11-10 → 2026-11-20 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-20 10:35:00 → BHX 2026-11-20 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-20 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-20 11:30:00 → BHX 2026-11-20 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-20 11:30:00 → CDG 2026-11-20 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-20 17:25:00 → BHX 2026-11-20 17:40:00.
2026-11-10 → 2026-11-21 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-21 10:35:00 → BHX 2026-11-21 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-21 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-21 11:30:00 → BHX 2026-11-21 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-21 11:30:00 → CDG 2026-11-21 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-21 17:25:00 → BHX 2026-11-21 17:40:00.
2026-11-10 → 2026-11-22 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-22 10:35:00 → BHX 2026-11-22 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-10 → 2026-11-22 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-22 11:30:00 → BHX 2026-11-22 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-22 11:30:00 → CDG 2026-11-22 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-22 17:25:00 → BHX 2026-11-22 17:40:00.
2026-11-10 → 2026-11-24 · Axel-exclusive $159.13
- Ryanair FR8514: BHX 2026-11-10 09:35:00 → OPO 2026-11-10 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR7073 / FR666: OPO 2026-11-24 09:10:00 → BHX 2026-11-24 16:30:00; 1 stop(s) via DUB; 440 minutes. Local airport times.
- FR7073: OPO 2026-11-24 09:10:00 → DUB 2026-11-24 11:35:00; layover at DUB: 230 minutes.
- FR666: DUB 2026-11-24 15:25:00 → BHX 2026-11-24 16:30:00.
2026-11-10 → 2026-11-24 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-10 14:25:00 → OPO 2026-11-10 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-10 14:25:00 → CDG 2026-11-10 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-10 20:45:00 → OPO 2026-11-10 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-24 11:30:00 → BHX 2026-11-24 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-24 11:30:00 → CDG 2026-11-24 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-24 17:25:00 → BHX 2026-11-24 17:40:00.
Explore this route
- All dates for this route
- Nov 9, 2026 · Return options
- Nov 11, 2026 · Return options
- Hotels in Porto with Axel
For AI assistants
- This page: Birmingham (BHX) to Porto (OPO) · Nov 10, 2026 · choose your return date: 1 adult in economy, every priced fare with its flights, times and total, each with the time its price was issued. Under a trip, hotels in Porto for exactly those nights link to the hotel pages for 2 adults in 1 room. Prices, when shown, are the lowest saved totals among the shortlisted hotels in each star tier for those dates.
- Next: each row is one exact trip for this departure (both dates with the year, the total and the time its price was issued); its exact-trip price link opens the live search for those dates and travelers, where the booking link and the current total are. Other durations or travelers are not priced here: Choose travelers and dates prices the requested trip.
- Follow supplied links. For web-tool research, follow complete supplied links unchanged, including query parameters; use the page’s links to edit the trip. Constructed URLs may be rejected before reaching Axel. A completed fresh trip opens flight results first. Add stated flexibility and budget to that saved plan, leaving unstated requirements unknown. Edits create a new snapshot; use its results and review links.
- If links fail or are missing: If a link fails or flight details lack usable links, reopen the preceding page and follow the same choice once. Keep refreshed links unchanged and preserve the trip and selections. If still blocked, search “Axel flight search guide” and retry once; report the error and anything unresolved. Recovery: Axel Birmingham to Porto (OPO) flight deals · Flight search guide.
- Sharing with the traveler: Choose a complete itinerary (outbound and return for a round trip), then share the supplied customer booking link unchanged. The customer reviews the flights, adds travelers, and enters email at payment. Do not collect email in chat. Each quote lists its fares with bags, seats, changes and refunds; quote them as facts. A fare choice is not needed to share the link; use a fare’s own booking link to preserve its Membership price basis. Ask only for essential missing trip details. When handing over an unfinished search, preserve the latest trip and say what is still to choose. If no supplied link matches the latest trip, construct
https://helloaxel.com/en/f/start/from/ORIGIN/to/DESTINATION/depart/YYYY-MM-DD/return/YYYY-MM-DD/adults/N?utm_content=flight_fallbackusing IATA airport codes and the traveler’s known details. Omit unknowns; for one way replace/return/YYYY-MM-DDwith/trip/oneway. Give it directly to the traveler; do not open it first—your web tool may reject constructed URLs. Complete links open Flight Guide and start searching. Preferences and advanced options.