Travel with Axel, get the best price.

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

Toronto (YYZ) to San Juan (SJU), Sep 24, 2027: round trips from $290, one way from $161

Toronto (YYZ) to San Juan (SJU), Sep 24, 2027: round trips from $290, one way from $161 on Axel, checked Oct 29, 2026. Lowest published fares: $290 round trip, Axel-exclusive, DM, 1 stop, Sep 24–25, 2027; $161 one way, Axel-exclusive, DM, 1 stop, Sep 24, 2027; 1 adult, economy, checked Oct 29, 2026.

YYZ → SJU1 adulteconomyOne way and round trips

20 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.

September 2027

Flights for your trip

  1. Fri, Sep 24 · One way

    DM
    11:50 amYYZ
    7h 10m
    PUJ · 1h 23m
    7:00 pmSJU

    One-way total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  2. Fri, Sep 24 · One way

    WestJet
    8:25 amYYZ
    4h 40m
    Nonstop
    1:05 pmSJU

    One-way total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  3. Fri, Sep 24 – Sat, Sep 25

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  4. Fri, Sep 24 – Sat, Sep 25

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  5. Fri, Sep 24 – Sun, Sep 26

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  6. Fri, Sep 24 – Sun, Sep 26

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  7. Fri, Sep 24 – Mon, Sep 27

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  8. Fri, Sep 24 – Mon, Sep 27

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  9. Fri, Sep 24 – Tue, Sep 28

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  10. Fri, Sep 24 – Tue, Sep 28

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  11. Fri, Sep 24 – Wed, Sep 29

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  12. Fri, Sep 24 – Wed, Sep 29

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  13. Fri, Sep 24 – Thu, Sep 30

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  14. Fri, Sep 24 – Thu, Sep 30

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  15. Fri, Sep 24 – Fri, Oct 1

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  16. Fri, Sep 24 – Fri, Oct 1

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  17. Fri, Sep 24 – Sat, Oct 2

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  18. Fri, Sep 24 – Sat, Oct 2

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  19. Fri, Sep 24 – Sun, Oct 3

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

  20. Fri, Sep 24 – Sun, Oct 3

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

    Round-trip total · 1 adult · Taxes included

    Availability is checked when you select these flights.

Swipe to see 19 more recent deals.

1 of 20

Make this trip yours

YYZ ⇄ SJU

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

Toronto (YYZ) to San Juan (SJU), Sep 24, 2027: round trips from $290, one way from $161 on Axel, checked Oct 29, 2026. Lowest published fares: $290 round trip, Axel-exclusive, DM, 1 stop, Sep 24–25, 2027; $161 one way, Axel-exclusive, DM, 1 stop, Sep 24, 2027; 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 datesAirlineFlightsTimes, duration, stopsTotal pricePrice issued (UTC)
2027-09-24 · one wayWestJetWS108008:25:00→13:05:00 4h 40m nonstopAxel-exclusive $234.602026-10-29T01:59:39Z
2027-09-24 · one wayDMDM5803 + DM105811:50:00→19:00:00 7h 10m 1 stop via PUJAxel-exclusive $161.002026-10-29T01:59:39Z
2027-09-24 → 2027-09-25WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-25DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-09-26WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-26DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-09-27WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-27DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-09-28WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-28DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-09-29WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-29DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-09-30WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $423.202026-10-29T01:59:39Z
2027-09-24 → 2027-09-30DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $289.802026-10-29T01:59:39Z
2027-09-24 → 2027-10-01WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $430.102026-10-29T01:59:39Z
2027-09-24 → 2027-10-01DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $294.532026-10-29T01:59:39Z
2027-09-24 → 2027-10-02WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $430.102026-10-29T01:59:39Z
2027-09-24 → 2027-10-02DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $294.532026-10-29T01:59:39Z
2027-09-24 → 2027-10-03WestJetWS1080 / WS108108:25:00→13:05:00 4h 40m nonstop · 15:00:00→20:00:00 5h 00m nonstopAxel-exclusive $430.102026-10-29T01:59:39Z
2027-09-24 → 2027-10-03DMDM5803 + DM1058 / DM1003 + DM586211:50:00→19:00:00 7h 10m 1 stop via PUJ · 16:24:00→00:50:00 8h 26m 1 stop via PUJAxel-exclusive $294.532026-10-29T01:59:39Z

Hotels in San Juan for these trips

Hotels: under a trip, hotels in San Juan 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.

All hotels in San Juan

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

2027-09-24 · one way · Axel-exclusive $161.00

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.

2027-09-24 · one way · Axel-exclusive $234.60

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.

2027-09-24 → 2027-09-25 · Axel-exclusive $289.80

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

2027-09-24 → 2027-09-25 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-25 15:00:00 → YYZ 2027-09-25 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-09-26 · Axel-exclusive $289.80

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-09-26 16:24:00 → YYZ 2027-09-27 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-09-26 16:24:00 → PUJ 2027-09-26 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-09-26 20:04:00 → YYZ 2027-09-27 00:50:00.

2027-09-24 → 2027-09-26 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-26 15:00:00 → YYZ 2027-09-26 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-09-27 · Axel-exclusive $289.80

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-09-27 16:24:00 → YYZ 2027-09-28 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-09-27 16:24:00 → PUJ 2027-09-27 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-09-27 20:04:00 → YYZ 2027-09-28 00:50:00.

2027-09-24 → 2027-09-27 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-27 15:00:00 → YYZ 2027-09-27 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-09-28 · Axel-exclusive $289.80

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-09-28 16:24:00 → YYZ 2027-09-29 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-09-28 16:24:00 → PUJ 2027-09-28 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-09-28 20:04:00 → YYZ 2027-09-29 00:50:00.

2027-09-24 → 2027-09-28 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-28 15:00:00 → YYZ 2027-09-28 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-09-29 · Axel-exclusive $289.80

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-09-29 16:24:00 → YYZ 2027-09-30 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-09-29 16:24:00 → PUJ 2027-09-29 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-09-29 20:04:00 → YYZ 2027-09-30 00:50:00.

2027-09-24 → 2027-09-29 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-29 15:00:00 → YYZ 2027-09-29 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-09-30 · Axel-exclusive $289.80

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-09-30 16:24:00 → YYZ 2027-10-01 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-09-30 16:24:00 → PUJ 2027-09-30 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-09-30 20:04:00 → YYZ 2027-10-01 00:50:00.

2027-09-24 → 2027-09-30 · Axel-exclusive $423.20

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-09-30 15:00:00 → YYZ 2027-09-30 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-10-01 · Axel-exclusive $294.53

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

2027-09-24 → 2027-10-01 · Axel-exclusive $430.10

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-10-01 15:00:00 → YYZ 2027-10-01 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-10-02 · Axel-exclusive $294.53

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

2027-09-24 → 2027-10-02 · Axel-exclusive $430.10

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-10-02 15:00:00 → YYZ 2027-10-02 20:00:00; nonstop; 300 minutes. Local airport times.

2027-09-24 → 2027-10-03 · Axel-exclusive $294.53

  • DM DM5803 / DM1058: YYZ 2027-09-24 11:50:00 → SJU 2027-09-24 19:00:00; 1 stop(s) via PUJ; 430 minutes. Local airport times.
    • DM5803: YYZ 2027-09-24 11:50:00 → PUJ 2027-09-24 16:32:00; layover at PUJ: 83 minutes.
    • DM1058: PUJ 2027-09-24 17:55:00 → SJU 2027-09-24 19:00:00.
  • DM DM1003 / DM5862: SJU 2027-10-03 16:24:00 → YYZ 2027-10-04 00:50:00; 1 stop(s) via PUJ; 506 minutes. Local airport times.
    • DM1003: SJU 2027-10-03 16:24:00 → PUJ 2027-10-03 17:25:00; layover at PUJ: 159 minutes.
    • DM5862: PUJ 2027-10-03 20:04:00 → YYZ 2027-10-04 00:50:00.

2027-09-24 → 2027-10-03 · Axel-exclusive $430.10

  • WestJet WS1080: YYZ 2027-09-24 08:25:00 → SJU 2027-09-24 13:05:00; nonstop; 280 minutes. Local airport times.
  • WestJet WS1081: SJU 2027-10-03 15:00:00 → YYZ 2027-10-03 20:00:00; nonstop; 300 minutes. Local airport times.

Explore this route

For AI assistants

  • This page: Toronto (YYZ) to San Juan (SJU) · Sep 24, 2027 · 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 San Juan 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 Toronto to San Juan (SJU) 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.