Birmingham (BHX) to Porto (OPO) · Nov 28, 2026 · choose your return date
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 | Total price | Price issued (UTC) |
|---|---|---|---|---|
| 2026-11-28 · one way | Ryanair | FR8514 | Axel-exclusive $61.75 | 2026-10-29T00:49:09Z |
| 2026-11-28 · one way | Air France | AF1315 + AF1516 | Axel-exclusive $161.50 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-11-29 | Ryanair | FR8514 / FR8513 | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-11-29 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-11-30 | Ryanair | FR8514 / FR8513 | Axel-exclusive $114.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-11-30 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $270.76 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-01 | Ryanair | FR8514 / FR7073 + FR666 | Axel-exclusive $164.50 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-01 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-02 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-02 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-03 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-03 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-04 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-04 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-05 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-05 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-06 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-06 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-07 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-07 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-08 | Ryanair | FR8514 / FR7073 + FR666 | Axel-exclusive $164.50 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-08 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-09 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-09 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-10 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-10 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-11 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-11 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | Axel-exclusive $277.88 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-12 | Ryanair | FR8514 / FR8513 | Axel-exclusive $117.00 | 2026-10-29T00:49:09Z |
| 2026-11-28 → 2026-12-12 | Air France | AF1315 + AF1516 / AF1529 + AF1064 | 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: the lowest 3★, 4★, 5★ stay totals among the city's featured hotels, Axel's price for 2 adults in 1 room, each opening that hotel's page for those dates with the rooms and the booking link.
- Hotels in Porto for these nights (Nov 28–29, 2026 · 1 night · 2 adults, 1 room): 3★ HF Tuela Porto, $75 total · 4★ Timbre Heroismo, $74 total · 5★ Crowne Plaza Porto by IHG, $121 total
- Hotels in Porto for these nights (Nov 28–30, 2026 · 2 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $152 total · 4★ Timbre Heroismo, $143 total · 5★ Crowne Plaza Porto by IHG, $238 total
- Hotels in Porto for these nights (Nov 28 – Dec 1, 2026 · 3 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $216 total · 4★ Timbre Heroismo, $211 total · 5★ Crowne Plaza Porto by IHG, $354 total
- Hotels in Porto for these nights (Nov 28 – Dec 2, 2026 · 4 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $280 total · 4★ Timbre Heroismo, $276 total · 5★ Crowne Plaza Porto by IHG, $477 total
- Hotels in Porto for these nights (Nov 28 – Dec 3, 2026 · 5 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $342 total · 4★ Timbre Heroismo, $341 total · 5★ Timbre Virtudes, $601 total
- Hotels in Porto for these nights (Nov 28 – Dec 4, 2026 · 6 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $432 total · 4★ Timbre Heroismo, $406 total · 5★ Timbre Virtudes, $719 total
- Hotels in Porto for these nights (Nov 28 – Dec 5, 2026 · 7 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $514 total · 4★ Timbre Heroismo, $474 total · 5★ Timbre Virtudes, $843 total
- Hotels in Porto for these nights (Nov 28 – Dec 6, 2026 · 8 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $600 total · 4★ Timbre Heroismo, $560 total · 5★ Timbre Virtudes, $973 total
- Hotels in Porto for these nights (Nov 28 – Dec 7, 2026 · 9 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $690 total · 4★ Timbre Heroismo, $638 total · 5★ Timbre Virtudes, $1,091 total
- Hotels in Porto for these nights (Nov 28 – Dec 8, 2026 · 10 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $780 total · 4★ Timbre Heroismo, $713 total · 5★ Timbre Virtudes, $1,215 total
- Hotels in Porto for these nights (Nov 28 – Dec 9, 2026 · 11 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $842 total · 4★ Timbre Heroismo, $789 total · 5★ Timbre Virtudes, $1,332 total
- Hotels in Porto for these nights (Nov 28 – Dec 10, 2026 · 12 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $904 total · 4★ Timbre Heroismo, $865 total · 5★ Timbre Virtudes, $1,450 total
- Hotels in Porto for these nights (Nov 28 – Dec 11, 2026 · 13 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $966 total · 4★ Timbre Heroismo, $941 total · 5★ Timbre Virtudes, $1,571 total
- Hotels in Porto for these nights (Nov 28 – Dec 12, 2026 · 14 nights · 2 adults, 1 room): 3★ HF Tuela Porto, $1,033 total · 4★ Timbre Heroismo, $1,009 total · 5★ Timbre Virtudes, $1,699 total
Route overview: Birmingham to Porto (OPO) flight deals
2026-11-28 · one way · Axel-exclusive $61.75
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 12:00:00; nonstop; 145 minutes. Local airport times.
2026-11-28 · one way · Axel-exclusive $161.50
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 22:00:00.
2026-11-28 → 2026-11-29 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-11-29 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-11-30 · Axel-exclusive $114.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-11-30 · Axel-exclusive $270.76
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-01 · Axel-exclusive $164.50
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-12-01 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-02 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-02 10:35:00 → BHX 2026-12-02 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-28 → 2026-12-02 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-02 11:30:00 → BHX 2026-12-02 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-02 11:30:00 → CDG 2026-12-02 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-02 17:25:00 → BHX 2026-12-02 17:40:00.
2026-11-28 → 2026-12-04 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-12-04 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-05 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-12-05 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-06 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-06 10:35:00 → BHX 2026-12-06 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-28 → 2026-12-06 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-06 11:30:00 → BHX 2026-12-06 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-06 11:30:00 → CDG 2026-12-06 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-06 17:25:00 → BHX 2026-12-06 17:40:00.
2026-11-28 → 2026-12-08 · Axel-exclusive $164.50
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-12-08 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-09 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 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-28 → 2026-12-09 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 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-28 → 2026-12-10 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-10 10:35:00 → BHX 2026-12-10 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-28 → 2026-12-10 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-10 11:30:00 → BHX 2026-12-10 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-10 11:30:00 → CDG 2026-12-10 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-10 17:25:00 → BHX 2026-12-10 17:40:00.
2026-11-28 → 2026-12-12 · Axel-exclusive $117.00
- Ryanair FR8514: BHX 2026-11-28 09:35:00 → OPO 2026-11-28 12:00:00; nonstop; 145 minutes. Local airport times.
- Ryanair FR8513: OPO 2026-12-12 10:35:00 → BHX 2026-12-12 13:00:00; nonstop; 145 minutes. Local airport times.
2026-11-28 → 2026-12-12 · Axel-exclusive $277.88
- Air France AF1315 / AF1516: BHX 2026-11-28 14:25:00 → OPO 2026-11-28 22:00:00; 1 stop(s) via CDG; 455 minutes. Local airport times.
- AF1315: BHX 2026-11-28 14:25:00 → CDG 2026-11-28 16:45:00; layover at CDG: 240 minutes.
- AF1516: CDG 2026-11-28 20:45:00 → OPO 2026-11-28 22:00:00.
- Air France AF1529 / AF1064: OPO 2026-12-12 11:30:00 → BHX 2026-12-12 17:40:00; 1 stop(s) via CDG; 370 minutes. Local airport times.
- AF1529: OPO 2026-12-12 11:30:00 → CDG 2026-12-12 14:50:00; layover at CDG: 155 minutes.
- AF1064: CDG 2026-12-12 17:25:00 → BHX 2026-12-12 17:40:00.
Explore this route
- All dates for this route
- Nov 27, 2026 · Return options
- Nov 29, 2026 · Return options
- Hotels in Porto with Axel
For AI assistants
- This page: Birmingham (BHX) to Porto (OPO) · Nov 28, 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: the lowest 3★, 4★ and 5★ stay totals for 2 adults in 1 room, each linking to that hotel's page for those dates.
- Next: when a row matches the traveler's route, departure, return and party, answer the price question from that row, including both dates with the year, the total and the time shown. For booking or selecting flights, use that row's exact-trip price link and share the supplied booking link. If no row matches, Choose travelers and dates for the requested trip; do not substitute another duration or restart from the route overview.
- 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.
Feedback (optional): Missing info · Axel issue