Travel with Axel,
get the best price.

Route overview: San Juan to Toronto (YYZ) flight deals

San Juan → Toronto

Dec 2, 2026 · return Dec 7, 2026

SJU → YYZ1 adulteconomyRound trip

7 flight options · 6 airlines

Nonstop flights

Wed, Dec 2 – Mon, Dec 7

WestJet
3:00 pmSJU
5h
Nonstop
7:00 pmYYZ
WestJet
8:25 amYYZ
4h 40m
Nonstop
2:05 pmSJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

One-stop flights

Wed, Dec 2 – Mon, Dec 7

DM
4:24 pmSJU
8h 26m
PUJ · 2h 39m
11:50 pmYYZ
DM
11:50 amYYZ
7h 10m
PUJ · 1h 23m
8:00 pmSJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Wed, Dec 2 – Mon, Dec 7

American Airlines
7:05 amSJU
9h 5m
CLT · 2h 56m
3:10 pmYYZ
American Airlines
1:05 pmYYZ
9h 28m
MIA · 3h 14m
11:33 pmSJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Wed, Dec 2 – Mon, Dec 7

United Airlines
2:52 pmSJU
8h 29m
EWR · 2h 20m
10:21 pmYYZ
United Airlines
2:57 pmYYZ
8h 39m
EWR · 2h 57m
12:36 am+1SJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Wed, Dec 2 – Mon, Dec 7

Delta Air Lines
3:20 pmSJU
8h 47m
DTW · 2h 25m
11:07 pmYYZ
Air Canada
2:00 pmYYZ
9h 36m
EWR · 3h 51m
12:36 am+1SJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Wed, Dec 2 – Mon, Dec 7

Air Canada
2:25 pmSJU
5h
Nonstop
6:25 pmYYZ
Air Canada
2:00 pmYYZ
9h 36m
EWR · 3h 51m
12:36 am+1SJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Wed, Dec 2 – Mon, Dec 7

United Airlines
8:25 amSJU
9h 22m
ORD · 2h 10m
4:47 pmYYZ
United Airlines
2:57 pmYYZ
8h 39m
EWR · 2h 57m
12:36 am+1SJU

Round-trip total · 1 adult · Taxes included

Availability is checked when you select these flights.

Make this trip yours

SJU ⇄ YYZ

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

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 datesAirlineFlightsTotal pricePrice issued (UTC)
2026-12-02 → 2026-12-07WestJetWS1081 / WS1080Axel-exclusive $510.002026-10-29T01:25:19Z
2026-12-02 → 2026-12-07DMDM1003 + DM5862 / DM5803 + DM1058Axel-exclusive $365.002026-10-29T01:25:19Z
2026-12-02 → 2026-12-07American AirlinesAA3324 + AA3135 / AA1572 + AA1172Axel-exclusive $490.002026-10-29T01:25:19Z
2026-12-02 → 2026-12-07United AirlinesUA1173 + AC1513 / UA3544 + UA1543Axel-exclusive $500.002026-10-29T01:25:19Z
2026-12-02 → 2026-12-07Delta Air Lines / Air CanadaDL1913 + DL4943 / AC8878 + UA1543Axel-exclusive $510.002026-10-29T01:25:19Z
2026-12-02 → 2026-12-07Air CanadaAC1719 / AC8878 + UA1543Axel-exclusive $527.502026-10-29T01:25:19Z
2026-12-02 → 2026-12-07United AirlinesUA2089 + UA1172 / UA3544 + UA1543Axel-exclusive $500.002026-10-29T01:25:19Z

Route overview: San Juan to Toronto (YYZ) flight deals

2026-12-02 → 2026-12-07 · Axel-exclusive $510.00

  • WestJet WS1081: SJU 2026-12-02 15:00:00 → YYZ 2026-12-02 19:00:00; nonstop; 300 minutes. Local airport times.
  • WestJet WS1080: YYZ 2026-12-07 08:25:00 → SJU 2026-12-07 14:05:00; nonstop; 280 minutes. Local airport times.

2026-12-02 → 2026-12-07 · Axel-exclusive $365.00

  • DM DM1003 / DM5862: SJU 2026-12-02 16:24:00 → YYZ 2026-12-02 23:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2026-12-02 16:24:00 → PUJ 2026-12-02 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2026-12-02 20:04:00 → YYZ 2026-12-02 23:50:00.
  • DM DM5803 / DM1058: YYZ 2026-12-07 11:50:00 → SJU 2026-12-07 20:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2026-12-07 11:50:00 → PUJ 2026-12-07 17:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2026-12-07 18:55:00 → SJU 2026-12-07 20:00:00.

2026-12-02 → 2026-12-07 · Axel-exclusive $490.00

  • American Airlines AA3324 / AA3135: SJU 2026-12-02 07:05:00 → YYZ 2026-12-02 15:10:00; 1 stop(s) via CLT; 545 minutes. Local airport times.
    • AA3324: SJU 2026-12-02 07:05:00 → CLT 2026-12-02 10:05:00; layover at CLT: 176 minutes.
    • AA3135: CLT 2026-12-02 13:01:00 → YYZ 2026-12-02 15:10:00.
  • American Airlines AA1572 / AA1172: YYZ 2026-12-07 13:05:00 → SJU 2026-12-07 23:33:00; 1 stop(s) via MIA; 568 minutes. Local airport times.
    • AA1572: YYZ 2026-12-07 13:05:00 → MIA 2026-12-07 16:36:00; layover at MIA: 194 minutes.
    • AA1172: MIA 2026-12-07 19:50:00 → SJU 2026-12-07 23:33:00.

2026-12-02 → 2026-12-07 · Axel-exclusive $500.00

  • United Airlines UA1173 / AC1513: SJU 2026-12-02 14:52:00 → YYZ 2026-12-02 22:21:00; 1 stop(s) via EWR; 509 minutes. Local airport times.
    • UA1173: SJU 2026-12-02 14:52:00 → EWR 2026-12-02 18:10:00; layover at EWR: 140 minutes.
    • AC1513: EWR 2026-12-02 20:30:00 → YYZ 2026-12-02 22:21:00.
  • United Airlines UA3544 / UA1543: YYZ 2026-12-07 14:57:00 → SJU 2026-12-08 00:36:00; 1 stop(s) via EWR; 519 minutes. Local airport times.
    • UA3544: YYZ 2026-12-07 14:57:00 → EWR 2026-12-07 16:39:00; layover at EWR: 177 minutes.
    • UA1543: EWR 2026-12-07 19:36:00 → SJU 2026-12-08 00:36:00.

2026-12-02 → 2026-12-07 · Axel-exclusive $510.00

  • Delta Air Lines DL1913 / DL4943: SJU 2026-12-02 15:20:00 → YYZ 2026-12-02 23:07:00; 1 stop(s) via DTW; 527 minutes. Local airport times.
    • DL1913: SJU 2026-12-02 15:20:00 → DTW 2026-12-02 19:10:00; layover at DTW: 145 minutes.
    • DL4943: DTW 2026-12-02 21:35:00 → YYZ 2026-12-02 23:07:00.
  • Air Canada AC8878 / UA1543: YYZ 2026-12-07 14:00:00 → SJU 2026-12-08 00:36:00; 1 stop(s) via EWR; 576 minutes. Local airport times.
    • AC8878: YYZ 2026-12-07 14:00:00 → EWR 2026-12-07 15:45:00; layover at EWR: 231 minutes.
    • UA1543: EWR 2026-12-07 19:36:00 → SJU 2026-12-08 00:36:00.

2026-12-02 → 2026-12-07 · Axel-exclusive $527.50

  • Air Canada AC1719: SJU 2026-12-02 14:25:00 → YYZ 2026-12-02 18:25:00; nonstop; 300 minutes. Local airport times.
  • Air Canada AC8878 / UA1543: YYZ 2026-12-07 14:00:00 → SJU 2026-12-08 00:36:00; 1 stop(s) via EWR; 576 minutes. Local airport times.
    • AC8878: YYZ 2026-12-07 14:00:00 → EWR 2026-12-07 15:45:00; layover at EWR: 231 minutes.
    • UA1543: EWR 2026-12-07 19:36:00 → SJU 2026-12-08 00:36:00.

2026-12-02 → 2026-12-07 · Axel-exclusive $500.00

  • United Airlines UA2089 / UA1172: SJU 2026-12-02 08:25:00 → YYZ 2026-12-02 16:47:00; 1 stop(s) via ORD; 562 minutes. Local airport times.
    • UA2089: SJU 2026-12-02 08:25:00 → ORD 2026-12-02 11:47:00; layover at ORD: 130 minutes.
    • UA1172: ORD 2026-12-02 13:57:00 → YYZ 2026-12-02 16:47:00.
  • United Airlines UA3544 / UA1543: YYZ 2026-12-07 14:57:00 → SJU 2026-12-08 00:36:00; 1 stop(s) via EWR; 519 minutes. Local airport times.
    • UA3544: YYZ 2026-12-07 14:57:00 → EWR 2026-12-07 16:39:00; layover at EWR: 177 minutes.
    • UA1543: EWR 2026-12-07 19:36:00 → SJU 2026-12-08 00:36:00.

Explore this route

For AI assistants

  • This page: San Juan (SJU) to Toronto (YYZ) · Dec 2, 2026 · return Dec 7, 2026: 1 adult in economy, every priced fare with its flights, times and total, each with the time its price was issued.
  • Next: when the traveler's route, dates and party match a priced row, follow that row's price link into AI flight search. Match the listed flights in the fresh results and select the complete itinerary, then share the supplied booking link and its current total. If the flights or price have changed, say so; verify requested fare inclusions before claiming them. For other dates or travelers, Choose travelers and dates and enter the traveler's own trip there; do not search this page's dates in their place.
  • 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 San Juan to Toronto (YYZ) 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.