Birmingham (BHX) to Porto (OPO), Nov 27, 2026: round trips from $114, one way from $62
Birmingham (BHX) to Porto (OPO), Nov 27, 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 27–28, 2026; $62 one way, Axel-exclusive, Ryanair, nonstop, Nov 27, 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 27–28, 2026 · 1 night · 2 adults, 1 room): 3★ The House of Sandeman $53 · 4★ Dorma Essenzia Porto $77 · 5★ Crowne Plaza Porto by IHG $101
Hotels for these nights (Nov 27–29, 2026 · 2 nights · 2 adults, 1 room): 3★ The House of Sandeman $106 · 4★ Dorma Essenzia Porto $158 · 5★ Crowne Plaza Porto by IHG $202
Hotels for these nights (Nov 27–30, 2026 · 3 nights · 2 adults, 1 room): 3★ The House of Sandeman $155 · 4★ OCA Oriental Porto $231 · 5★ Crowne Plaza Porto by IHG $296
Hotels for these nights (Nov 27 – Dec 1, 2026 · 4 nights · 2 adults, 1 room): 3★ The House of Sandeman $204 · 4★ OCA Oriental Porto $299 · 5★ Crowne Plaza Porto by IHG $405
Hotels for these nights (Nov 27 – Dec 2, 2026 · 5 nights · 2 adults, 1 room): 3★ The House of Sandeman $253 · 4★ Dorma Essenzia Porto $374 · 5★ Crowne Plaza Porto by IHG $513
Hotels for these nights (Nov 27 – Dec 3, 2026 · 6 nights · 2 adults, 1 room): 3★ The House of Sandeman $302 · 4★ Dorma Essenzia Porto $443 · 5★ Crowne Plaza Porto by IHG $641
Hotels for these nights (Nov 27 – Dec 4, 2026 · 7 nights · 2 adults, 1 room): 3★ The House of Sandeman $351 · 4★ Dorma Essenzia Porto $514 · 5★ Crowne Plaza Porto by IHG $758
Hotels for these nights (Nov 27 – Dec 5, 2026 · 8 nights · 2 adults, 1 room): 3★ The House of Sandeman $404 · 4★ Dorma Essenzia Porto $597 · 5★ Crowne Plaza Porto by IHG $872
Hotels for these nights (Nov 27 – Dec 6, 2026 · 9 nights · 2 adults, 1 room): 3★ The House of Sandeman $457 · 4★ Dorma Essenzia Porto $708 · 5★ Crowne Plaza Porto by IHG $979
Hotels for these nights (Nov 27 – Dec 7, 2026 · 10 nights · 2 adults, 1 room): 3★ The House of Sandeman $510 · 4★ Dorma Essenzia Porto $823 · 5★ Crowne Plaza Porto by IHG $1,080
Hotels for these nights (Nov 27 – Dec 8, 2026 · 11 nights · 2 adults, 1 room): 3★ The House of Sandeman $563 · 4★ Dorma Essenzia Porto $901 · 5★ Crowne Plaza Porto by IHG $1,188
Hotels for these nights (Nov 27 – Dec 9, 2026 · 12 nights · 2 adults, 1 room): 3★ The House of Sandeman $612 · 4★ Dorma Essenzia Porto $967 · 5★ Crowne Plaza Porto by IHG $1,296
Hotels for these nights (Nov 27 – Dec 10, 2026 · 13 nights · 2 adults, 1 room): 3★ The House of Sandeman $661 · 4★ Dorma Essenzia Porto $1,032 · 5★ Crowne Plaza Porto by IHG $1,404
Hotels for these nights (Nov 27 – Dec 11, 2026 · 14 nights · 2 adults, 1 room): 3★ The House of Sandeman $710 · 4★ Dorma Essenzia Porto $1,095 · 5★ Crowne Plaza Porto by IHG $1,563
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.
- Not satisfied? Full refund.If you are unhappy with the experience for any reason, or simply change your mind, cancel within 24 hours of booking (departure 7+ days away) and we refund you in full. We stand by our product. 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 27, 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 27–28, 2026; $62 one way, Axel-exclusive, Ryanair, nonstop, Nov 27, 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-27 · one way | Ryanair | FR8514 | 09:35:00→12:00:00 2h 25m nonstop | Axel-exclusive $61.75 | 2026-10-29T00:49:09Z |
| 2026-11-27 · 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-27 → 2026-11-28 | 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-27 → 2026-11-28 | 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-27 → 2026-11-29 | 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-27 → 2026-11-29 | 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-27 → 2026-11-30 | 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-27 → 2026-11-30 | 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-27 → 2026-12-01 | 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 $164.50 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-01 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-02 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-02 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-03 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-03 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-04 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-04 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-05 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-05 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-06 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-06 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-07 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-07 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-08 | 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 $164.50 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-08 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-09 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-09 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-10 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-10 | 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 $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-11 | Ryanair | FR8514 / FR8513 | 09:35:00→12:00:00 2h 25m nonstop · 10:35:00→13:00:00 2h 25m nonstop | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-27 → 2026-12-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 $277.88 | 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 27–28, 2026 · 1 night · 2 adults, 1 room): 3★ The House of Sandeman, $53 total · 4★ Dorma Essenzia Porto, $77 total · 5★ Crowne Plaza Porto by IHG, $101 total
- Hotels in Porto for these nights (Nov 27–29, 2026 · 2 nights · 2 adults, 1 room): 3★ The House of Sandeman, $106 total · 4★ Dorma Essenzia Porto, $158 total · 5★ Crowne Plaza Porto by IHG, $202 total
- Hotels in Porto for these nights (Nov 27–30, 2026 · 3 nights · 2 adults, 1 room): 3★ The House of Sandeman, $155 total · 4★ OCA Oriental Porto, $231 total · 5★ Crowne Plaza Porto by IHG, $296 total
- Hotels in Porto for these nights (Nov 27 – Dec 1, 2026 · 4 nights · 2 adults, 1 room): 3★ The House of Sandeman, $204 total · 4★ OCA Oriental Porto, $299 total · 5★ Crowne Plaza Porto by IHG, $405 total
- Hotels in Porto for these nights (Nov 27 – Dec 2, 2026 · 5 nights · 2 adults, 1 room): 3★ The House of Sandeman, $253 total · 4★ Dorma Essenzia Porto, $374 total · 5★ Crowne Plaza Porto by IHG, $513 total
- Hotels in Porto for these nights (Nov 27 – Dec 3, 2026 · 6 nights · 2 adults, 1 room): 3★ The House of Sandeman, $302 total · 4★ Dorma Essenzia Porto, $443 total · 5★ Crowne Plaza Porto by IHG, $641 total
- Hotels in Porto for these nights (Nov 27 – Dec 4, 2026 · 7 nights · 2 adults, 1 room): 3★ The House of Sandeman, $351 total · 4★ Dorma Essenzia Porto, $514 total · 5★ Crowne Plaza Porto by IHG, $758 total
- Hotels in Porto for these nights (Nov 27 – Dec 5, 2026 · 8 nights · 2 adults, 1 room): 3★ The House of Sandeman, $404 total · 4★ Dorma Essenzia Porto, $597 total · 5★ Crowne Plaza Porto by IHG, $872 total
- Hotels in Porto for these nights (Nov 27 – Dec 6, 2026 · 9 nights · 2 adults, 1 room): 3★ The House of Sandeman, $457 total · 4★ Dorma Essenzia Porto, $708 total · 5★ Crowne Plaza Porto by IHG, $979 total
- Hotels in Porto for these nights (Nov 27 – Dec 7, 2026 · 10 nights · 2 adults, 1 room): 3★ The House of Sandeman, $510 total · 4★ Dorma Essenzia Porto, $823 total · 5★ Crowne Plaza Porto by IHG, $1,080 total
- Hotels in Porto for these nights (Nov 27 – Dec 8, 2026 · 11 nights · 2 adults, 1 room): 3★ The House of Sandeman, $563 total · 4★ Dorma Essenzia Porto, $901 total · 5★ Crowne Plaza Porto by IHG, $1,188 total
- Hotels in Porto for these nights (Nov 27 – Dec 9, 2026 · 12 nights · 2 adults, 1 room): 3★ The House of Sandeman, $612 total · 4★ Dorma Essenzia Porto, $967 total · 5★ Crowne Plaza Porto by IHG, $1,296 total
- Hotels in Porto for these nights (Nov 27 – Dec 10, 2026 · 13 nights · 2 adults, 1 room): 3★ The House of Sandeman, $661 total · 4★ Dorma Essenzia Porto, $1,032 total · 5★ Crowne Plaza Porto by IHG, $1,404 total
- Hotels in Porto for these nights (Nov 27 – Dec 11, 2026 · 14 nights · 2 adults, 1 room): 3★ The House of Sandeman, $710 total · 4★ Dorma Essenzia Porto, $1,095 total · 5★ Crowne Plaza Porto by IHG, $1,563 total
Route overview: Birmingham to Porto (OPO) flight deals
2026-11-27 · one way · Axel-exclusive $61.75
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 · one way · Axel-exclusive $161.50
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
2026-11-27 → 2026-11-28 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-28 10:35:00 → BHX 2026-11-28 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-11-28 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-28 11:30:00 → BHX 2026-11-28 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-28 11:30:00 → CDG 2026-11-28 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-28 17:25:00 → BHX 2026-11-28 17:40:00.
2026-11-27 → 2026-11-29 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-29 10:35:00 → BHX 2026-11-29 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-11-29 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-29 11:30:00 → BHX 2026-11-29 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-29 11:30:00 → CDG 2026-11-29 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-29 17:25:00 → BHX 2026-11-29 17:40:00.
2026-11-27 → 2026-11-30 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-11-30 10:35:00 → BHX 2026-11-30 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-11-30 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-11-30 11:30:00 → BHX 2026-11-30 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-11-30 11:30:00 → CDG 2026-11-30 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-11-30 17:25:00 → BHX 2026-11-30 17:40:00.
2026-11-27 → 2026-12-01 · Axel-exclusive $164.50
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR7073 / FR666: OPO 2026-12-01 09:10:00 → BHX 2026-12-01 16:30:00; 1 stop(s) via DUB; 440 minutes. Local airport times.
- FR7073: OPO 2026-12-01 09:10:00 → DUB 2026-12-01 11:35:00; layover at DUB: 230 minutes.
- FR666: DUB 2026-12-01 15:25:00 → BHX 2026-12-01 16:30:00.
2026-11-27 → 2026-12-01 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-01 11:30:00 → BHX 2026-12-01 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-01 11:30:00 → CDG 2026-12-01 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-01 17:25:00 → BHX 2026-12-01 17:40:00.
2026-11-27 → 2026-12-03 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-03 10:35:00 → BHX 2026-12-03 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-03 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-03 11:30:00 → BHX 2026-12-03 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-03 11:30:00 → CDG 2026-12-03 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-03 17:25:00 → BHX 2026-12-03 17:40:00.
2026-11-27 → 2026-12-04 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-04 10:35:00 → BHX 2026-12-04 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-04 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-04 11:30:00 → BHX 2026-12-04 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-04 11:30:00 → CDG 2026-12-04 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-04 17:25:00 → BHX 2026-12-04 17:40:00.
2026-11-27 → 2026-12-05 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-05 10:35:00 → BHX 2026-12-05 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-05 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-05 11:30:00 → BHX 2026-12-05 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-05 11:30:00 → CDG 2026-12-05 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-05 17:25:00 → BHX 2026-12-05 17:40:00.
2026-11-27 → 2026-12-07 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-07 10:35:00 → BHX 2026-12-07 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-07 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-07 11:30:00 → BHX 2026-12-07 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-07 11:30:00 → CDG 2026-12-07 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-07 17:25:00 → BHX 2026-12-07 17:40:00.
2026-11-27 → 2026-12-08 · Axel-exclusive $164.50
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR7073 / FR666: OPO 2026-12-08 09:10:00 → BHX 2026-12-08 16:30:00; 1 stop(s) via DUB; 440 minutes. Local airport times.
- FR7073: OPO 2026-12-08 09:10:00 → DUB 2026-12-08 11:35:00; layover at DUB: 230 minutes.
- FR666: DUB 2026-12-08 15:25:00 → BHX 2026-12-08 16:30:00.
2026-11-27 → 2026-12-08 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-08 11:30:00 → BHX 2026-12-08 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-08 11:30:00 → CDG 2026-12-08 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-08 17:25:00 → BHX 2026-12-08 17:40:00.
2026-11-27 → 2026-12-09 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-09 10:35:00 → BHX 2026-12-09 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-09 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-09 11:30:00 → BHX 2026-12-09 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-09 11:30:00 → CDG 2026-12-09 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-09 17:25:00 → BHX 2026-12-09 17:40:00.
2026-11-27 → 2026-12-11 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-27 09:35:00 → OPO 2026-11-27 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-11 10:35:00 → BHX 2026-12-11 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-27 → 2026-12-11 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-27 14:25:00 → OPO 2026-11-27 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-27 14:25:00 → CDG 2026-11-27 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-27 20:45:00 → OPO 2026-11-27 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-11 11:30:00 → BHX 2026-12-11 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-11 11:30:00 → CDG 2026-12-11 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-11 17:25:00 → BHX 2026-12-11 17:40:00.
Explore this route
- All dates for this route
- Nov 26, 2026 · Return options
- Nov 28, 2026 · Return options
- Hotels in Porto with Axel
For AI assistants
- This page: Birmingham (BHX) to Porto (OPO) · Nov 27, 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.