Travel with Axel, get the best price.

Route overview: Toronto to Porto (OPO) flight deals

Toronto (YYZ) to Porto (OPO), Nov 23, 2026: from $390 one way

Toronto (YYZ) to Porto (OPO), Nov 23, 2026: from $390 one way on Axel, checked Oct 29, 2026. Lowest published fare: $390 one way, Axel-exclusive, S4, 1 stop, Nov 23, 2026, 1 adult, economy, checked Oct 29, 2026.

YYZ → OPO1 adulteconomyOne way

6 flight options · 6 airlines

One-stop flights

Mon, Nov 23 · One way

S4
9:05 pmYYZ
9h 45m
PDL · 1h 40m
11:50 am+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Mon, Nov 23 · One way

TAP Air Portugal
10:45 pmYYZ
11h 15m
LIS · 3h 5m
3:00 pm+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Mon, Nov 23 · One way

Air Canada
6:00 pmYYZ
10h 30m
EWR · 2h 5m
9:30 am+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Mon, Nov 23 · One way

United Airlines
6:40 pmYYZ
11h 40m
EWR · 3h 7m
11:20 am+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Mon, Nov 23 · One way

KLM Royal Dutch Airlines
5:55 pmYYZ
11h 35m
AMS · 1h 45m
10:30 am+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Mon, Nov 23 · One way

Air France
6:30 pmYYZ
11h 5m
CDG · 1h 20m
10:35 am+1OPO

One-way total · 1 adult · Taxes included

Availability is checked when you select these flights.

Make this trip yours

YYZ ⇄ OPO

Economy

Adults 12+ · Children 2–11. For infants under 2, tell Axel after you see prices.

No account needed to see prices.

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, S4 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

Toronto (YYZ) to Porto (OPO), Nov 23, 2026: from $390 one way on Axel, checked Oct 29, 2026. Lowest published fare: $390 one way, Axel-exclusive, S4, 1 stop, Nov 23, 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.

See flights for these dates: each price link opens AI flight search for that row's exact dates and travelers. Select the complete itinerary there.

Exact travel datesAirlineFlightsTimes, duration, stopsTotal pricePrice issued (UTC)
2026-11-23 · one wayS4S4322 + S417221:05:00→11:50:00 9h 45m 1 stop via PDLAxel-exclusive $389.502026-10-29T01:59:32Z
2026-11-23 · one wayTAP Air PortugalTP262 + TP192822:45:00→15:00:00 11h 15m 1 stop via LISAxel-exclusive $418.002026-10-29T01:59:32Z
2026-11-23 · one wayAir CanadaAC1510 + UA14418:00:00→09:30:00 10h 30m 1 stop via EWRAxel-exclusive $494.002026-10-29T01:59:32Z
2026-11-23 · one wayUnited AirlinesUA3460 + TP21418:40:00→11:20:00 11h 40m 1 stop via EWRAxel-exclusive $513.002026-10-29T01:59:32Z
2026-11-23 · one wayKLM Royal Dutch AirlinesKL692 + KL157117:55:00→10:30:00 11h 35m 1 stop via AMSAxel-exclusive $579.502026-10-29T01:59:32Z
2026-11-23 · one wayAir FranceAF357 + AF152818:30:00→10:35:00 11h 05m 1 stop via CDGAxel-exclusive $589.002026-10-29T01:59:32Z

Route overview: Toronto to Porto (OPO) flight deals

2026-11-23 · one way · Axel-exclusive $389.50

  • S4 S4322 / S4172: YYZ 2026-11-23 21:05:00 → OPO 2026-11-24 11:50:00; 1 stop(s) via PDL; 585 minutes. Local airport times.
    • S4322: YYZ 2026-11-23 21:05:00 → PDL 2026-11-24 06:50:00; layover at PDL: 100 minutes.
    • S4172: PDL 2026-11-24 08:30:00 → OPO 2026-11-24 11:50:00.

2026-11-23 · one way · Axel-exclusive $418.00

  • TAP Air Portugal TP262 / TP1928: YYZ 2026-11-23 22:45:00 → OPO 2026-11-24 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times.
    • TP262: YYZ 2026-11-23 22:45:00 → LIS 2026-11-24 10:55:00; layover at LIS: 185 minutes.
    • TP1928: LIS 2026-11-24 14:00:00 → OPO 2026-11-24 15:00:00.

2026-11-23 · one way · Axel-exclusive $494.00

  • Air Canada AC1510 / UA144: YYZ 2026-11-23 18:00:00 → OPO 2026-11-24 09:30:00; 1 stop(s) via EWR; 630 minutes. Local airport times.
    • AC1510: YYZ 2026-11-23 18:00:00 → EWR 2026-11-23 19:40:00; layover at EWR: 125 minutes.
    • UA144: EWR 2026-11-23 21:45:00 → OPO 2026-11-24 09:30:00.

2026-11-23 · one way · Axel-exclusive $513.00

  • United Airlines UA3460 / TP214: YYZ 2026-11-23 18:40:00 → OPO 2026-11-24 11:20:00; 1 stop(s) via EWR; 700 minutes. Local airport times.
    • UA3460: YYZ 2026-11-23 18:40:00 → EWR 2026-11-23 20:33:00; layover at EWR: 187 minutes.
    • TP214: EWR 2026-11-23 23:40:00 → OPO 2026-11-24 11:20:00.

2026-11-23 · one way · Axel-exclusive $579.50

  • KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2026-11-23 17:55:00 → OPO 2026-11-24 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times.
    • KL692: YYZ 2026-11-23 17:55:00 → AMS 2026-11-24 07:05:00; layover at AMS: 105 minutes.
    • KL1571: AMS 2026-11-24 08:50:00 → OPO 2026-11-24 10:30:00.

2026-11-23 · one way · Axel-exclusive $589.00

  • Air France AF357 / AF1528: YYZ 2026-11-23 18:30:00 → OPO 2026-11-24 10:35:00; 1 stop(s) via CDG; 665 minutes. Local airport times.
    • AF357: YYZ 2026-11-23 18:30:00 → CDG 2026-11-24 07:55:00; layover at CDG: 80 minutes.
    • AF1528: CDG 2026-11-24 09:15:00 → OPO 2026-11-24 10:35:00.

Travelers: prices on this page are totals for 1 adult. For a different party, open this trip for 2 adults · 3 adults · 4 adults · 2 adults + 1 child · 2 adults + 2 children; each link opens AI flight search for these dates and those travelers, and the customer link to share comes from those results.

Explore this route

For AI assistants

  • This page: Toronto (YYZ) to Porto (OPO) · Nov 23, 2026 · one way: 1 adult in economy, every priced fare with its flights, times and total, each with the time its price was issued.
  • Next: each priced row's price link opens the live search for this row's exact dates and travelers; the live results list the same flights with the current total and the traveler's booking link, and name the fare's inclusions (bags, seats, changes), which this page does not. A changed price or flight shows there. Other dates or travelers are not priced here: Choose travelers and dates prices the traveler's own 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 Toronto 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_fallback using IATA airport codes and the traveler’s known details. Omit unknowns; for one way replace /return/YYYY-MM-DD with /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.