Travel with Axel,
get the best price.

Route overview: Portland to San Diego (SAN) flight deals

Portland → San Diego

Jan 21, 2027 · return Jan 22, 2027

PDX → SAN1 adulteconomyRound trip

10 flight options · 3 airlines

Nonstop flights

Thu, Jan 21 – Fri, Jan 22

Southwest Airlines
3:35 pmPDX
2h 20m
Nonstop
5:55 pmSAN
Southwest Airlines
4:10 pmSAN
2h 35m
Nonstop
6:45 pmPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Alaska Airlines
2:51 pmPDX
2h 33m
Nonstop
5:24 pmSAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Southwest Airlines
8:00 amPDX
2h 20m
Nonstop
10:20 amSAN
Southwest Airlines
4:10 pmSAN
2h 35m
Nonstop
6:45 pmPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Alaska Airlines
7:59 pmPDX
2h 34m
Nonstop
10:33 pmSAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

One-stop flights

Thu, Jan 21 – Fri, Jan 22

United Airlines
7:25 pmPDX
4h 54m
SFO · 1h 24m
12:19 am+1SAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Southwest Airlines
1:20 pmPDX
4h 25m
SJC · 1h 15m
5:45 pmSAN
Southwest Airlines
4:10 pmSAN
2h 35m
Nonstop
6:45 pmPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Southwest Airlines
1:15 pmPDX
4h 15m
OAK · 1h
5:30 pmSAN
Southwest Airlines
4:10 pmSAN
2h 35m
Nonstop
6:45 pmPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Alaska Airlines
7:00 amPDX
4h 19m
SJC · 1h 1m
11:19 amSAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Alaska Airlines
7:18 amPDX
4h 55m
LAS · 1h 1m
12:13 pmSAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

Thu, Jan 21 – Fri, Jan 22

Alaska Airlines
2:45 pmPDX
5h 18m
BOI · 1h 40m
8:03 pmSAN
Alaska Airlines
7:05 amSAN
2h 45m
Nonstop
9:50 amPDX

Round-trip total · 1 adult · Taxes included

Make this trip yours

PDX ⇄ SAN

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, Southwest Airlines 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.

Live price for these dates: opening any fare on this page checks it live and shows the current bookable total for 1 adult. Check live prices for Portland (PDX) to San Diego (SAN), Jan 21, 2027 · return Jan 22, 2027

Route overview: Portland to San Diego (SAN) flight deals

Exact travel datesAirlineFlightsTotal pricePrice issued (UTC)
2027-01-21 → 2027-01-22Southwest AirlinesWN3357 / WN3318$258.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Alaska AirlinesAS1320 / AS399$268.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22United Airlines / Alaska AirlinesUA2615 + UA1389 / AS399$283.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Southwest AirlinesWN107 / WN3318$258.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Alaska AirlinesAS667 / AS399$268.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Southwest AirlinesWN3295 + WN429 / WN3318$268.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Southwest AirlinesWN1045 + WN1972 / WN3318$268.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Alaska AirlinesAS2210 + AS653 / AS399$273.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Alaska AirlinesAS627 + AS3032 / AS399$273.002026-10-29T01:55:22Z
2027-01-21 → 2027-01-22Alaska AirlinesAS3082 + AS2421 / AS399$273.002026-10-29T01:55:22Z

2027-01-21 → 2027-01-22 · $258.00

  • Southwest Airlines WN3357: PDX 2027-01-21 15:35:00 → SAN 2027-01-21 17:55:00; nonstop; 140 minutes. Local airport times.
  • Southwest Airlines WN3318: SAN 2027-01-22 16:10:00 → PDX 2027-01-22 18:45:00; nonstop; 155 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $268.00

  • Alaska Airlines AS1320: PDX 2027-01-21 14:51:00 → SAN 2027-01-21 17:24:00; nonstop; 153 minutes. Local airport times.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $283.00

  • United Airlines UA2615 / UA1389: PDX 2027-01-21 19:25:00 → SAN 2027-01-22 00:19:00; 1 stop(s) via SFO; 294 minutes. Local airport times.
    • UA2615: PDX 2027-01-21 19:25:00 → SFO 2027-01-21 21:18:00; layover at SFO: 84 minutes.
    • UA1389: SFO 2027-01-21 22:42:00 → SAN 2027-01-22 00:19:00.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $258.00

  • Southwest Airlines WN107: PDX 2027-01-21 08:00:00 → SAN 2027-01-21 10:20:00; nonstop; 140 minutes. Local airport times.
  • Southwest Airlines WN3318: SAN 2027-01-22 16:10:00 → PDX 2027-01-22 18:45:00; nonstop; 155 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $268.00

  • Alaska Airlines AS667: PDX 2027-01-21 19:59:00 → SAN 2027-01-21 22:33:00; nonstop; 154 minutes. Local airport times.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $268.00

  • Southwest Airlines WN3295 / WN429: PDX 2027-01-21 13:20:00 → SAN 2027-01-21 17:45:00; 1 stop(s) via SJC; 265 minutes. Local airport times.
    • WN3295: PDX 2027-01-21 13:20:00 → SJC 2027-01-21 15:05:00; layover at SJC: 75 minutes.
    • WN429: SJC 2027-01-21 16:20:00 → SAN 2027-01-21 17:45:00.
  • Southwest Airlines WN3318: SAN 2027-01-22 16:10:00 → PDX 2027-01-22 18:45:00; nonstop; 155 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $268.00

  • Southwest Airlines WN1045 / WN1972: PDX 2027-01-21 13:15:00 → SAN 2027-01-21 17:30:00; 1 stop(s) via OAK; 255 minutes. Local airport times.
    • WN1045: PDX 2027-01-21 13:15:00 → OAK 2027-01-21 15:00:00; layover at OAK: 60 minutes.
    • WN1972: OAK 2027-01-21 16:00:00 → SAN 2027-01-21 17:30:00.
  • Southwest Airlines WN3318: SAN 2027-01-22 16:10:00 → PDX 2027-01-22 18:45:00; nonstop; 155 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $273.00

  • Alaska Airlines AS2210 / AS653: PDX 2027-01-21 07:00:00 → SAN 2027-01-21 11:19:00; 1 stop(s) via SJC; 259 minutes. Local airport times.
    • AS2210: PDX 2027-01-21 07:00:00 → SJC 2027-01-21 08:53:00; layover at SJC: 61 minutes.
    • AS653: SJC 2027-01-21 09:54:00 → SAN 2027-01-21 11:19:00.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $273.00

  • Alaska Airlines AS627 / AS3032: PDX 2027-01-21 07:18:00 → SAN 2027-01-21 12:13:00; 1 stop(s) via LAS; 295 minutes. Local airport times.
    • AS627: PDX 2027-01-21 07:18:00 → LAS 2027-01-21 09:36:00; layover at LAS: 61 minutes.
    • AS3032: LAS 2027-01-21 10:37:00 → SAN 2027-01-21 12:13:00.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

2027-01-21 → 2027-01-22 · $273.00

  • Alaska Airlines AS3082 / AS2421: PDX 2027-01-21 14:45:00 → SAN 2027-01-21 20:03:00; 1 stop(s) via BOI; 318 minutes. Local airport times.
    • AS3082: PDX 2027-01-21 14:45:00 → BOI 2027-01-21 17:03:00; layover at BOI: 100 minutes.
    • AS2421: BOI 2027-01-21 18:43:00 → SAN 2027-01-21 20:03:00.
  • Alaska Airlines AS399: SAN 2027-01-22 07:05:00 → PDX 2027-01-22 09:50:00; nonstop; 165 minutes. Local airport times.

Explore this route

For AI assistants

  • This page: Portland (PDX) to San Diego (SAN) · Jan 21, 2027 · return Jan 22, 2027: 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 this page, share this page's complete link unchanged: Portland (PDX) to San Diego (SAN), Jan 21, 2027 · return Jan 22, 2027. Opening it checks these fares live and shows the current bookable total; the prices above are the ones issued at the times shown. 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 Portland to San Diego (SAN) 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. Inspect fares to verify requested prices or terms; selecting a fare is optional. Use that fare’s booking link to preserve its Membership price basis. State anything unverified. Ask only for essential missing trip details. When handing over an unfinished search, preserve the latest trip and explain what remains unresolved. Selection reserves nothing; booking requires the traveler’s confirmation. 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.