# Toronto (YYZ) to Porto (OPO) Toronto (YYZ) to Porto (OPO), the months ahead: 130 priced flights on 65 exact dates. Flights for 1 adult in economy. Prices are total for all travelers in USD, including required taxes. Basic economy may apply. **Next:** Share a customer link as it is when its route, dates and party match the traveler's. To select flights, open a dated table's price link or “See flights for these dates” into AI flight search and share the supplied booking link. Search links are for you; share customer and booking links. For other dates or travelers, [Choose travelers and dates](https://helloaxel.com/en/f/start/from/yyz/to/opo/step/travelers) using their own trip details. ### Toronto (YYZ) to Porto (OPO): November 2026 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Nov 12, 2026 – Nov 15, 2026 · 3 nights · [Compare return dates departing Nov 12, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-12) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-12-2026/return/november-15-2026/adults/1/cabin/economy) | | Nov 12, 2026 – Nov 15, 2026 · 3 nights · [Compare return dates departing Nov 12, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-12) | Air Canada / KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $745.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-12-2026/return/november-15-2026/adults/1/cabin/economy) | | Nov 13, 2026 – Nov 16, 2026 · 3 nights · [Compare return dates departing Nov 13, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-13) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-13-2026/return/november-16-2026/adults/1/cabin/economy) | | Nov 13, 2026 – Nov 16, 2026 · 3 nights · [Compare return dates departing Nov 13, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-13) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-13-2026/return/november-16-2026/adults/1/cabin/economy) | | Nov 14, 2026 – Nov 21, 2026 · 7 nights · [Compare return dates departing Nov 14, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-14) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-14-2026/return/november-21-2026/adults/1/cabin/economy) | | Nov 14, 2026 – Nov 21, 2026 · 7 nights · [Compare return dates departing Nov 14, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-14) | United Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-14-2026/return/november-21-2026/adults/1/cabin/economy) | | Nov 17, 2026 · One way · [Compare return dates departing Nov 17, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-17) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-17-2026/trip/one-way/adults/1/cabin/economy) | | Nov 17, 2026 · One way · [Compare return dates departing Nov 17, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-17) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-17-2026/trip/one-way/adults/1/cabin/economy) | | Nov 19, 2026 – Nov 22, 2026 · 3 nights · [Compare return dates departing Nov 19, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-19) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-19-2026/return/november-22-2026/adults/1/cabin/economy) | | Nov 19, 2026 – Nov 22, 2026 · 3 nights · [Compare return dates departing Nov 19, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-19) | Air Canada / KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $745.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-19-2026/return/november-22-2026/adults/1/cabin/economy) | | Nov 20, 2026 – Nov 23, 2026 · 3 nights · [Compare return dates departing Nov 20, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-20) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-20-2026/return/november-23-2026/adults/1/cabin/economy) | | Nov 20, 2026 – Nov 23, 2026 · 3 nights · [Compare return dates departing Nov 20, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-20) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-20-2026/return/november-23-2026/adults/1/cabin/economy) | | Nov 21, 2026 – Nov 28, 2026 · 7 nights · [Compare return dates departing Nov 21, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-21) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-21-2026/return/november-28-2026/adults/1/cabin/economy) | | Nov 21, 2026 – Nov 28, 2026 · 7 nights · [Compare return dates departing Nov 21, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-21) | United Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-21-2026/return/november-28-2026/adults/1/cabin/economy) | | Nov 24, 2026 · One way · [Compare return dates departing Nov 24, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-24) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-24-2026/trip/one-way/adults/1/cabin/economy) | | Nov 24, 2026 · One way · [Compare return dates departing Nov 24, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-24) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-24-2026/trip/one-way/adults/1/cabin/economy) | | Nov 26, 2026 – Nov 29, 2026 · 3 nights · [Compare return dates departing Nov 26, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-26) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-26-2026/return/november-29-2026/adults/1/cabin/economy) | | Nov 26, 2026 – Nov 29, 2026 · 3 nights · [Compare return dates departing Nov 26, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-26) | Air Canada / KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $745.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-26-2026/return/november-29-2026/adults/1/cabin/economy) | | Nov 27, 2026 – Nov 30, 2026 · 3 nights · [Compare return dates departing Nov 27, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-27) | S4 | Up to 1 stop each way | [Axel-exclusive $617.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-27-2026/return/november-30-2026/adults/1/cabin/economy) | | Nov 27, 2026 – Nov 30, 2026 · 3 nights · [Compare return dates departing Nov 27, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-27) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-27-2026/return/november-30-2026/adults/1/cabin/economy) | | Nov 28, 2026 – Dec 5, 2026 · 7 nights · [Compare return dates departing Nov 28, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-28) | S4 | Up to 1 stop each way | [Axel-exclusive $633.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-28-2026/return/december-5-2026/adults/1/cabin/economy) | | Nov 28, 2026 – Dec 5, 2026 · 7 nights · [Compare return dates departing Nov 28, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/nov-28) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $770.25](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/november-28-2026/return/december-5-2026/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): December 2026 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Dec 1, 2026 · One way · [Compare return dates departing Dec 1, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-1) | S4 | Up to 1 stop each way | [Axel-exclusive $410.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-1-2026/trip/one-way/adults/1/cabin/economy) | | Dec 1, 2026 · One way · [Compare return dates departing Dec 1, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-1) | Air Canada | Up to 1 stop each way | [Axel-exclusive $520.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-1-2026/trip/one-way/adults/1/cabin/economy) | | Dec 3, 2026 – Dec 6, 2026 · 3 nights · [Compare return dates departing Dec 3, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-3) | S4 | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-3-2026/return/december-6-2026/adults/1/cabin/economy) | | Dec 3, 2026 – Dec 6, 2026 · 3 nights · [Compare return dates departing Dec 3, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-3) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $690.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-3-2026/return/december-6-2026/adults/1/cabin/economy) | | Dec 4, 2026 – Dec 7, 2026 · 3 nights · [Compare return dates departing Dec 4, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-4) | S4 | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-4-2026/return/december-7-2026/adults/1/cabin/economy) | | Dec 4, 2026 – Dec 7, 2026 · 3 nights · [Compare return dates departing Dec 4, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-4) | United Airlines | Up to 1 stop each way | [Axel-exclusive $790.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-4-2026/return/december-7-2026/adults/1/cabin/economy) | | Dec 5, 2026 – Dec 12, 2026 · 7 nights · [Compare return dates departing Dec 5, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-5) | S4 | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-5-2026/return/december-12-2026/adults/1/cabin/economy) | | Dec 5, 2026 – Dec 12, 2026 · 7 nights · [Compare return dates departing Dec 5, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-5) | United Airlines | Up to 1 stop each way | [Axel-exclusive $790.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-5-2026/return/december-12-2026/adults/1/cabin/economy) | | Dec 8, 2026 · One way · [Compare return dates departing Dec 8, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-8) | S4 | Up to 1 stop each way | [Axel-exclusive $410.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-8-2026/trip/one-way/adults/1/cabin/economy) | | Dec 8, 2026 · One way · [Compare return dates departing Dec 8, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-8) | Air Canada | Up to 1 stop each way | [Axel-exclusive $520.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-8-2026/trip/one-way/adults/1/cabin/economy) | | Dec 10, 2026 – Dec 13, 2026 · 3 nights · [Compare return dates departing Dec 10, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-10) | S4 | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-10-2026/return/december-13-2026/adults/1/cabin/economy) | | Dec 10, 2026 – Dec 13, 2026 · 3 nights · [Compare return dates departing Dec 10, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-10) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $690.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-10-2026/return/december-13-2026/adults/1/cabin/economy) | | Dec 11, 2026 – Dec 14, 2026 · 3 nights · [Compare return dates departing Dec 11, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-11) | Air Canada / United Airlines | Up to 1 stop each way | [Axel-exclusive $785.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-11-2026/return/december-14-2026/adults/1/cabin/economy) | | Dec 11, 2026 – Dec 14, 2026 · 3 nights · [Compare return dates departing Dec 11, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-11) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $790.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-11-2026/return/december-14-2026/adults/1/cabin/economy) | | Dec 12, 2026 – Dec 19, 2026 · 7 nights · [Compare return dates departing Dec 12, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-12) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $888.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-12-2026/return/december-19-2026/adults/1/cabin/economy) | | Dec 12, 2026 – Dec 19, 2026 · 7 nights · [Compare return dates departing Dec 12, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-12) | United Airlines | Up to 1 stop each way | [Axel-exclusive $888.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-12-2026/return/december-19-2026/adults/1/cabin/economy) | | Dec 15, 2026 · One way · [Compare return dates departing Dec 15, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-15) | S4 | Up to 1 stop each way | [Axel-exclusive $410.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-15-2026/trip/one-way/adults/1/cabin/economy) | | Dec 15, 2026 · One way · [Compare return dates departing Dec 15, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-15) | Air Canada | Up to 1 stop each way | [Axel-exclusive $520.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-15-2026/trip/one-way/adults/1/cabin/economy) | | Dec 17, 2026 – Dec 20, 2026 · 3 nights · [Compare return dates departing Dec 17, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-17) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $776.25](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-17-2026/return/december-20-2026/adults/1/cabin/economy) | | Dec 17, 2026 – Dec 20, 2026 · 3 nights · [Compare return dates departing Dec 17, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-17) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $888.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-17-2026/return/december-20-2026/adults/1/cabin/economy) | | Dec 18, 2026 – Dec 21, 2026 · 3 nights · [Compare return dates departing Dec 18, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-18) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $862.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-18-2026/return/december-21-2026/adults/1/cabin/economy) | | Dec 18, 2026 – Dec 21, 2026 · 3 nights · [Compare return dates departing Dec 18, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-18) | United Airlines | Up to 1 stop each way | [Axel-exclusive $987.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-18-2026/return/december-21-2026/adults/1/cabin/economy) | | Dec 19, 2026 – Dec 26, 2026 · 7 nights · [Compare return dates departing Dec 19, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-19) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $862.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-19-2026/return/december-26-2026/adults/1/cabin/economy) | | Dec 19, 2026 – Dec 26, 2026 · 7 nights · [Compare return dates departing Dec 19, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-19) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $987.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-19-2026/return/december-26-2026/adults/1/cabin/economy) | | Dec 22, 2026 · One way · [Compare return dates departing Dec 22, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-22) | S4 | Up to 1 stop each way | [Axel-exclusive $512.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-22-2026/trip/one-way/adults/1/cabin/economy) | | Dec 22, 2026 · One way · [Compare return dates departing Dec 22, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-22) | Air Canada | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-22-2026/trip/one-way/adults/1/cabin/economy) | | Dec 24, 2026 – Dec 27, 2026 · 3 nights · [Compare return dates departing Dec 24, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-24) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $862.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-24-2026/return/december-27-2026/adults/1/cabin/economy) | | Dec 24, 2026 – Dec 27, 2026 · 3 nights · [Compare return dates departing Dec 24, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-24) | Air Canada / Air France | Up to 1 stop each way | [Axel-exclusive $987.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-24-2026/return/december-27-2026/adults/1/cabin/economy) | | Dec 25, 2026 – Dec 28, 2026 · 3 nights · [Compare return dates departing Dec 25, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-25) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $862.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-25-2026/return/december-28-2026/adults/1/cabin/economy) | | Dec 25, 2026 – Dec 28, 2026 · 3 nights · [Compare return dates departing Dec 25, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-25) | United Airlines | Up to 1 stop each way | [Axel-exclusive $987.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-25-2026/return/december-28-2026/adults/1/cabin/economy) | | Dec 26, 2026 – Jan 2, 2027 · 7 nights · [Compare return dates departing Dec 26, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-26) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $838.35](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-26-2026/return/january-2-2027/adults/1/cabin/economy) | | Dec 26, 2026 – Jan 2, 2027 · 7 nights · [Compare return dates departing Dec 26, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-26) | United Airlines | Up to 1 stop each way | [Axel-exclusive $959.85](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-26-2026/return/january-2-2027/adults/1/cabin/economy) | | Dec 29, 2026 · One way · [Compare return dates departing Dec 29, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-29) | S4 | Up to 1 stop each way | [Axel-exclusive $512.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-29-2026/trip/one-way/adults/1/cabin/economy) | | Dec 29, 2026 · One way · [Compare return dates departing Dec 29, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-29) | Air Canada | Up to 1 stop each way | [Axel-exclusive $650.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-29-2026/trip/one-way/adults/1/cabin/economy) | | Dec 31, 2026 – Jan 3, 2027 · 3 nights · [Compare return dates departing Dec 31, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-31) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $838.35](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-31-2026/return/january-3-2027/adults/1/cabin/economy) | | Dec 31, 2026 – Jan 3, 2027 · 3 nights · [Compare return dates departing Dec 31, 2026](https://helloaxel.com/en/flights/choose/yyz-opo/dec-31) | Air Canada / Air France | Up to 1 stop each way | [Axel-exclusive $959.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/december-31-2026/return/january-3-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): January 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Jan 1, 2027 – Jan 4, 2027 · 3 nights · [Compare return dates departing Jan 1, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-1) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $814.20](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-1-2027/return/january-4-2027/adults/1/cabin/economy) | | Jan 1, 2027 – Jan 4, 2027 · 3 nights · [Compare return dates departing Jan 1, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-1) | United Airlines | Up to 1 stop each way | [Axel-exclusive $932.20](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-1-2027/return/january-4-2027/adults/1/cabin/economy) | | Jan 2, 2027 – Jan 9, 2027 · 7 nights · [Compare return dates departing Jan 2, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-2) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $734.85](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-2-2027/return/january-9-2027/adults/1/cabin/economy) | | Jan 2, 2027 – Jan 9, 2027 · 7 nights · [Compare return dates departing Jan 2, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-2) | United Airlines | Up to 1 stop each way | [Axel-exclusive $841.35](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-2-2027/return/january-9-2027/adults/1/cabin/economy) | | Jan 5, 2027 · One way · [Compare return dates departing Jan 5, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-5) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-5-2027/trip/one-way/adults/1/cabin/economy) | | Jan 5, 2027 · One way · [Compare return dates departing Jan 5, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-5) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-5-2027/trip/one-way/adults/1/cabin/economy) | | Jan 7, 2027 – Jan 10, 2027 · 3 nights · [Compare return dates departing Jan 7, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-7) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-7-2027/return/january-10-2027/adults/1/cabin/economy) | | Jan 7, 2027 – Jan 10, 2027 · 3 nights · [Compare return dates departing Jan 7, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-7) | Air Canada / Air France | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-7-2027/return/january-10-2027/adults/1/cabin/economy) | | Jan 8, 2027 – Jan 11, 2027 · 3 nights · [Compare return dates departing Jan 8, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-8) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-8-2027/return/january-11-2027/adults/1/cabin/economy) | | Jan 8, 2027 – Jan 11, 2027 · 3 nights · [Compare return dates departing Jan 8, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-8) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-8-2027/return/january-11-2027/adults/1/cabin/economy) | | Jan 9, 2027 – Jan 16, 2027 · 7 nights · [Compare return dates departing Jan 9, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-9) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-9-2027/return/january-16-2027/adults/1/cabin/economy) | | Jan 9, 2027 – Jan 16, 2027 · 7 nights · [Compare return dates departing Jan 9, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-9) | United Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-9-2027/return/january-16-2027/adults/1/cabin/economy) | | Jan 12, 2027 · One way · [Compare return dates departing Jan 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-12) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-12-2027/trip/one-way/adults/1/cabin/economy) | | Jan 12, 2027 · One way · [Compare return dates departing Jan 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-12) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-12-2027/trip/one-way/adults/1/cabin/economy) | | Jan 14, 2027 – Jan 17, 2027 · 3 nights · [Compare return dates departing Jan 14, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-14) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-14-2027/return/january-17-2027/adults/1/cabin/economy) | | Jan 14, 2027 – Jan 17, 2027 · 3 nights · [Compare return dates departing Jan 14, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-14) | Air Canada / Air France | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-14-2027/return/january-17-2027/adults/1/cabin/economy) | | Jan 15, 2027 – Jan 18, 2027 · 3 nights · [Compare return dates departing Jan 15, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-15) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-15-2027/return/january-18-2027/adults/1/cabin/economy) | | Jan 15, 2027 – Jan 18, 2027 · 3 nights · [Compare return dates departing Jan 15, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-15) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-15-2027/return/january-18-2027/adults/1/cabin/economy) | | Jan 16, 2027 – Jan 23, 2027 · 7 nights · [Compare return dates departing Jan 16, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-16) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-16-2027/return/january-23-2027/adults/1/cabin/economy) | | Jan 16, 2027 – Jan 23, 2027 · 7 nights · [Compare return dates departing Jan 16, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-16) | United Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-16-2027/return/january-23-2027/adults/1/cabin/economy) | | Jan 19, 2027 · One way · [Compare return dates departing Jan 19, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-19) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-19-2027/trip/one-way/adults/1/cabin/economy) | | Jan 19, 2027 · One way · [Compare return dates departing Jan 19, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-19) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-19-2027/trip/one-way/adults/1/cabin/economy) | | Jan 21, 2027 – Jan 24, 2027 · 3 nights · [Compare return dates departing Jan 21, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-21) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-21-2027/return/january-24-2027/adults/1/cabin/economy) | | Jan 21, 2027 – Jan 24, 2027 · 3 nights · [Compare return dates departing Jan 21, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-21) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-21-2027/return/january-24-2027/adults/1/cabin/economy) | | Jan 22, 2027 – Jan 25, 2027 · 3 nights · [Compare return dates departing Jan 22, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-22) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-22-2027/return/january-25-2027/adults/1/cabin/economy) | | Jan 22, 2027 – Jan 25, 2027 · 3 nights · [Compare return dates departing Jan 22, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-22) | United Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-22-2027/return/january-25-2027/adults/1/cabin/economy) | | Jan 23, 2027 – Jan 30, 2027 · 7 nights · [Compare return dates departing Jan 23, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-23) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-23-2027/return/january-30-2027/adults/1/cabin/economy) | | Jan 23, 2027 – Jan 30, 2027 · 7 nights · [Compare return dates departing Jan 23, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-23) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-23-2027/return/january-30-2027/adults/1/cabin/economy) | | Jan 26, 2027 · One way · [Compare return dates departing Jan 26, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-26) | S4 | Up to 1 stop each way | [Axel-exclusive $389.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-26-2027/trip/one-way/adults/1/cabin/economy) | | Jan 26, 2027 · One way · [Compare return dates departing Jan 26, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-26) | Air Canada | Up to 1 stop each way | [Axel-exclusive $494.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-26-2027/trip/one-way/adults/1/cabin/economy) | | Jan 28, 2027 – Jan 31, 2027 · 3 nights · [Compare return dates departing Jan 28, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-28) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-28-2027/return/january-31-2027/adults/1/cabin/economy) | | Jan 28, 2027 – Jan 31, 2027 · 3 nights · [Compare return dates departing Jan 28, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-28) | Air Canada / Air France | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-28-2027/return/january-31-2027/adults/1/cabin/economy) | | Jan 29, 2027 – Feb 1, 2027 · 3 nights · [Compare return dates departing Jan 29, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-29) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-29-2027/return/february-1-2027/adults/1/cabin/economy) | | Jan 29, 2027 – Feb 1, 2027 · 3 nights · [Compare return dates departing Jan 29, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-29) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-29-2027/return/february-1-2027/adults/1/cabin/economy) | | Jan 30, 2027 – Feb 6, 2027 · 7 nights · [Compare return dates departing Jan 30, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-30) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-30-2027/return/february-6-2027/adults/1/cabin/economy) | | Jan 30, 2027 – Feb 6, 2027 · 7 nights · [Compare return dates departing Jan 30, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jan-30) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/january-30-2027/return/february-6-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): February 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Feb 12, 2027 – Feb 15, 2027 · 3 nights · [Compare return dates departing Feb 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/feb-12) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/february-12-2027/return/february-15-2027/adults/1/cabin/economy) | | Feb 12, 2027 – Feb 15, 2027 · 3 nights · [Compare return dates departing Feb 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/feb-12) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/february-12-2027/return/february-15-2027/adults/1/cabin/economy) | | Feb 13, 2027 – Feb 20, 2027 · 7 nights · [Compare return dates departing Feb 13, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/feb-13) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $655.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/february-13-2027/return/february-20-2027/adults/1/cabin/economy) | | Feb 13, 2027 – Feb 20, 2027 · 7 nights · [Compare return dates departing Feb 13, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/feb-13) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $750.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/february-13-2027/return/february-20-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): March 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Mar 12, 2027 – Mar 15, 2027 · 3 nights · [Compare return dates departing Mar 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/mar-12) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $690.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/march-12-2027/return/march-15-2027/adults/1/cabin/economy) | | Mar 12, 2027 – Mar 15, 2027 · 3 nights · [Compare return dates departing Mar 12, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/mar-12) | United Airlines | Up to 1 stop each way | [Axel-exclusive $790.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/march-12-2027/return/march-15-2027/adults/1/cabin/economy) | | Mar 13, 2027 – Mar 20, 2027 · 7 nights · [Compare return dates departing Mar 13, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/mar-13) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $741.75](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/march-13-2027/return/march-20-2027/adults/1/cabin/economy) | | Mar 13, 2027 – Mar 20, 2027 · 7 nights · [Compare return dates departing Mar 13, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/mar-13) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $849.25](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/march-13-2027/return/march-20-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): April 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Apr 9, 2027 – Apr 12, 2027 · 3 nights · [Compare return dates departing Apr 9, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/apr-9) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/april-9-2027/return/april-12-2027/adults/1/cabin/economy) | | Apr 9, 2027 – Apr 12, 2027 · 3 nights · [Compare return dates departing Apr 9, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/apr-9) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/april-9-2027/return/april-12-2027/adults/1/cabin/economy) | | Apr 10, 2027 – Apr 17, 2027 · 7 nights · [Compare return dates departing Apr 10, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/apr-10) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/april-10-2027/return/april-17-2027/adults/1/cabin/economy) | | Apr 10, 2027 – Apr 17, 2027 · 7 nights · [Compare return dates departing Apr 10, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/apr-10) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/april-10-2027/return/april-17-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): May 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | May 7, 2027 – May 10, 2027 · 3 nights · [Compare return dates departing May 7, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/may-7) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/may-7-2027/return/may-10-2027/adults/1/cabin/economy) | | May 7, 2027 – May 10, 2027 · 3 nights · [Compare return dates departing May 7, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/may-7) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/may-7-2027/return/may-10-2027/adults/1/cabin/economy) | | May 8, 2027 – May 15, 2027 · 7 nights · [Compare return dates departing May 8, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/may-8) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/may-8-2027/return/may-15-2027/adults/1/cabin/economy) | | May 8, 2027 – May 15, 2027 · 7 nights · [Compare return dates departing May 8, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/may-8) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/may-8-2027/return/may-15-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): June 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Jun 4, 2027 – Jun 7, 2027 · 3 nights · [Compare return dates departing Jun 4, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jun-4) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/june-4-2027/return/june-7-2027/adults/1/cabin/economy) | | Jun 4, 2027 – Jun 7, 2027 · 3 nights · [Compare return dates departing Jun 4, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jun-4) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/june-4-2027/return/june-7-2027/adults/1/cabin/economy) | | Jun 5, 2027 – Jun 12, 2027 · 7 nights · [Compare return dates departing Jun 5, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jun-5) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/june-5-2027/return/june-12-2027/adults/1/cabin/economy) | | Jun 5, 2027 – Jun 12, 2027 · 7 nights · [Compare return dates departing Jun 5, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jun-5) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/june-5-2027/return/june-12-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): July 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Jul 2, 2027 – Jul 5, 2027 · 3 nights · [Compare return dates departing Jul 2, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-2) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $1018.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-2-2027/return/july-5-2027/adults/1/cabin/economy) | | Jul 2, 2027 – Jul 5, 2027 · 3 nights · [Compare return dates departing Jul 2, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-2) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1144.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-2-2027/return/july-5-2027/adults/1/cabin/economy) | | Jul 3, 2027 – Jul 10, 2027 · 7 nights · [Compare return dates departing Jul 3, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-3) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $1018.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-3-2027/return/july-10-2027/adults/1/cabin/economy) | | Jul 3, 2027 – Jul 10, 2027 · 7 nights · [Compare return dates departing Jul 3, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-3) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1144.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-3-2027/return/july-10-2027/adults/1/cabin/economy) | | Jul 30, 2027 – Aug 2, 2027 · 3 nights · [Compare return dates departing Jul 30, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-30) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $1018.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-30-2027/return/august-2-2027/adults/1/cabin/economy) | | Jul 30, 2027 – Aug 2, 2027 · 3 nights · [Compare return dates departing Jul 30, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-30) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1144.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-30-2027/return/august-2-2027/adults/1/cabin/economy) | | Jul 31, 2027 – Aug 7, 2027 · 7 nights · [Compare return dates departing Jul 31, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-31) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $1018.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-31-2027/return/august-7-2027/adults/1/cabin/economy) | | Jul 31, 2027 – Aug 7, 2027 · 7 nights · [Compare return dates departing Jul 31, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/jul-31) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1144.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/july-31-2027/return/august-7-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): August 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Aug 27, 2027 – Aug 30, 2027 · 3 nights · [Compare return dates departing Aug 27, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/aug-27) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $1018.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/august-27-2027/return/august-30-2027/adults/1/cabin/economy) | | Aug 27, 2027 – Aug 30, 2027 · 3 nights · [Compare return dates departing Aug 27, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/aug-27) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1144.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/august-27-2027/return/august-30-2027/adults/1/cabin/economy) | | Aug 28, 2027 – Sep 4, 2027 · 7 nights · [Compare return dates departing Aug 28, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/aug-28) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $970.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/august-28-2027/return/september-4-2027/adults/1/cabin/economy) | | Aug 28, 2027 – Sep 4, 2027 · 7 nights · [Compare return dates departing Aug 28, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/aug-28) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1090.00](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/august-28-2027/return/september-4-2027/adults/1/cabin/economy) | ### Toronto (YYZ) to Porto (OPO): September 2027 | Travel dates | Airline | Stops | Total price | | --- | --- | --- | ---: | | Sep 17, 2027 – Sep 20, 2027 · 3 nights · [Compare return dates departing Sep 17, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/sep-17) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $921.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/september-17-2027/return/september-20-2027/adults/1/cabin/economy) | | Sep 17, 2027 – Sep 20, 2027 · 3 nights · [Compare return dates departing Sep 17, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/sep-17) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1035.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/september-17-2027/return/september-20-2027/adults/1/cabin/economy) | | Sep 18, 2027 – Sep 25, 2027 · 7 nights · [Compare return dates departing Sep 18, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/sep-18) | TAP Air Portugal | Up to 1 stop each way | [Axel-exclusive $921.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/september-18-2027/return/september-25-2027/adults/1/cabin/economy) | | Sep 18, 2027 – Sep 25, 2027 · 7 nights · [Compare return dates departing Sep 18, 2027](https://helloaxel.com/en/flights/choose/yyz-opo/sep-18) | KLM Royal Dutch Airlines | Up to 1 stop each way | [Axel-exclusive $1035.50](https://helloaxel.com/en/f/start/from/yyz/to/opo/depart/september-18-2027/return/september-25-2027/adults/1/cabin/economy) | [Route overview: Toronto to Porto (OPO) flight deals](/en/flights/from-toronto-to-porto-opo) ### 2026-11-12 → 2026-11-15 · Axel-exclusive $617.50 - S4 S4322 / S4172: YYZ 2026-11-12 21:05:00 → OPO 2026-11-13 11:50:00; 1 stop(s) via PDL; 585 minutes. Local airport times. - S4322: YYZ 2026-11-12 21:05:00 → PDL 2026-11-13 06:50:00; layover at PDL: 100 minutes. - S4172: PDL 2026-11-13 08:30:00 → OPO 2026-11-13 11:50:00. - S4 S4171 / S4323: OPO 2026-11-15 12:40:00 → YYZ 2026-11-15 19:50:00; 1 stop(s) via PDL; 730 minutes. Local airport times. - S4171: OPO 2026-11-15 12:40:00 → PDL 2026-11-15 14:10:00; layover at PDL: 160 minutes. - S4323: PDL 2026-11-15 16:50:00 → YYZ 2026-11-15 19:50:00. ### 2026-11-12 → 2026-11-15 · Axel-exclusive $745.75 - Air Canada AC1510 / UA144: YYZ 2026-11-12 18:00:00 → OPO 2026-11-13 09:30:00; 1 stop(s) via EWR; 630 minutes. Local airport times. - AC1510: YYZ 2026-11-12 18:00:00 → EWR 2026-11-12 19:40:00; layover at EWR: 125 minutes. - UA144: EWR 2026-11-12 21:45:00 → OPO 2026-11-13 09:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2026-11-15 11:15:00 → YYZ 2026-11-15 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2026-11-15 11:15:00 → AMS 2026-11-15 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2026-11-15 16:50:00 → YYZ 2026-11-15 19:15:00. ### 2026-11-17 · one way · Axel-exclusive $389.50 - S4 S4322 / S4172: YYZ 2026-11-17 21:05:00 → OPO 2026-11-18 11:50:00; 1 stop(s) via PDL; 585 minutes. Local airport times. - S4322: YYZ 2026-11-17 21:05:00 → PDL 2026-11-18 06:50:00; layover at PDL: 100 minutes. - S4172: PDL 2026-11-18 08:30:00 → OPO 2026-11-18 11:50:00. ### 2026-11-17 · one way · Axel-exclusive $494.00 - Air Canada AC1510 / UA144: YYZ 2026-11-17 18:00:00 → OPO 2026-11-18 09:30:00; 1 stop(s) via EWR; 630 minutes. Local airport times. - AC1510: YYZ 2026-11-17 18:00:00 → EWR 2026-11-17 19:40:00; layover at EWR: 125 minutes. - UA144: EWR 2026-11-17 21:45:00 → OPO 2026-11-18 09:30:00. ### 2026-11-21 → 2026-11-28 · Axel-exclusive $617.50 - S4 S4322 / S4172: YYZ 2026-11-21 21:05:00 → OPO 2026-11-22 11:50:00; 1 stop(s) via PDL; 585 minutes. Local airport times. - S4322: YYZ 2026-11-21 21:05:00 → PDL 2026-11-22 06:50:00; layover at PDL: 100 minutes. - S4172: PDL 2026-11-22 08:30:00 → OPO 2026-11-22 11:50:00. - S4 S4171 / S4323: OPO 2026-11-28 12:40:00 → YYZ 2026-11-28 19:50:00; 1 stop(s) via PDL; 730 minutes. Local airport times. - S4171: OPO 2026-11-28 12:40:00 → PDL 2026-11-28 14:10:00; layover at PDL: 160 minutes. - S4323: PDL 2026-11-28 16:50:00 → YYZ 2026-11-28 19:50:00. ### 2026-11-21 → 2026-11-28 · Axel-exclusive $750.50 - United Airlines UA3460 / TP214: YYZ 2026-11-21 18:40:00 → OPO 2026-11-22 11:20:00; 1 stop(s) via EWR; 700 minutes. Local airport times. - UA3460: YYZ 2026-11-21 18:40:00 → EWR 2026-11-21 20:33:00; layover at EWR: 187 minutes. - TP214: EWR 2026-11-21 23:40:00 → OPO 2026-11-22 11:20:00. - United Airlines UA145 / UA3616: OPO 2026-11-28 12:35:00 → YYZ 2026-11-28 19:59:00; 1 stop(s) via EWR; 744 minutes. Local airport times. - UA145: OPO 2026-11-28 12:35:00 → EWR 2026-11-28 16:00:00; layover at EWR: 123 minutes. - UA3616: EWR 2026-11-28 18:03:00 → YYZ 2026-11-28 19:59:00. ### 2026-12-04 → 2026-12-07 · Axel-exclusive $650.00 - S4 S4322 / S4172: YYZ 2026-12-04 21:05:00 → OPO 2026-12-05 11:50:00; 1 stop(s) via PDL; 585 minutes. Local airport times. - S4322: YYZ 2026-12-04 21:05:00 → PDL 2026-12-05 06:50:00; layover at PDL: 100 minutes. - S4172: PDL 2026-12-05 08:30:00 → OPO 2026-12-05 11:50:00. - S4 S4171 / S4323: OPO 2026-12-07 12:40:00 → YYZ 2026-12-07 19:50:00; 1 stop(s) via PDL; 730 minutes. Local airport times. - S4171: OPO 2026-12-07 12:40:00 → PDL 2026-12-07 14:10:00; layover at PDL: 160 minutes. - S4323: PDL 2026-12-07 16:50:00 → YYZ 2026-12-07 19:50:00. ### 2026-12-04 → 2026-12-07 · Axel-exclusive $790.00 - United Airlines UA3460 / TP214: YYZ 2026-12-04 18:40:00 → OPO 2026-12-05 11:20:00; 1 stop(s) via EWR; 700 minutes. Local airport times. - UA3460: YYZ 2026-12-04 18:40:00 → EWR 2026-12-04 20:33:00; layover at EWR: 187 minutes. - TP214: EWR 2026-12-04 23:40:00 → OPO 2026-12-05 11:20:00. - United Airlines UA145 / UA3616: OPO 2026-12-07 12:35:00 → YYZ 2026-12-07 19:59:00; 1 stop(s) via EWR; 744 minutes. Local airport times. - UA145: OPO 2026-12-07 12:35:00 → EWR 2026-12-07 16:00:00; layover at EWR: 123 minutes. - UA3616: EWR 2026-12-07 18:03:00 → YYZ 2026-12-07 19:59:00. ### 2026-12-17 → 2026-12-20 · Axel-exclusive $776.25 - TAP Air Portugal TP262 / TP1928: YYZ 2026-12-17 22:45:00 → OPO 2026-12-18 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2026-12-17 22:45:00 → LIS 2026-12-18 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2026-12-18 14:00:00 → OPO 2026-12-18 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2026-12-20 08:30:00 → YYZ 2026-12-20 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2026-12-20 08:30:00 → LIS 2026-12-20 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2026-12-20 11:20:00 → YYZ 2026-12-20 14:25:00. ### 2026-12-17 → 2026-12-20 · Axel-exclusive $888.75 - KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2026-12-17 17:55:00 → OPO 2026-12-18 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times. - KL692: YYZ 2026-12-17 17:55:00 → AMS 2026-12-18 07:05:00; layover at AMS: 105 minutes. - KL1571: AMS 2026-12-18 08:50:00 → OPO 2026-12-18 10:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2026-12-20 11:15:00 → YYZ 2026-12-20 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2026-12-20 11:15:00 → AMS 2026-12-20 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2026-12-20 16:50:00 → YYZ 2026-12-20 19:15:00. ### 2026-12-31 → 2027-01-03 · Axel-exclusive $838.35 - TAP Air Portugal TP262 / TP1928: YYZ 2026-12-31 22:45:00 → OPO 2027-01-01 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2026-12-31 22:45:00 → LIS 2027-01-01 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-01-01 14:00:00 → OPO 2027-01-01 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-01-03 08:30:00 → YYZ 2027-01-03 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-01-03 08:30:00 → LIS 2027-01-03 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-01-03 11:20:00 → YYZ 2027-01-03 14:25:00. ### 2026-12-31 → 2027-01-03 · Axel-exclusive $959.50 - Air Canada AC1510 / UA144: YYZ 2026-12-31 18:00:00 → OPO 2027-01-01 09:30:00; 1 stop(s) via EWR; 630 minutes. Local airport times. - AC1510: YYZ 2026-12-31 18:00:00 → EWR 2026-12-31 19:40:00; layover at EWR: 125 minutes. - UA144: EWR 2026-12-31 21:45:00 → OPO 2027-01-01 09:30:00. - Air France AF1529 / AF358: OPO 2027-01-03 11:30:00 → YYZ 2027-01-03 19:50:00; 1 stop(s) via CDG; 800 minutes. Local airport times. - AF1529: OPO 2027-01-03 11:30:00 → CDG 2027-01-03 14:50:00; layover at CDG: 145 minutes. - AF358: CDG 2027-01-03 17:15:00 → YYZ 2027-01-03 19:50:00. ### 2027-01-09 → 2027-01-16 · Axel-exclusive $655.50 - TAP Air Portugal TP262 / TP1928: YYZ 2027-01-09 22:45:00 → OPO 2027-01-10 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-01-09 22:45:00 → LIS 2027-01-10 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-01-10 14:00:00 → OPO 2027-01-10 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-01-16 08:30:00 → YYZ 2027-01-16 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-01-16 08:30:00 → LIS 2027-01-16 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-01-16 11:20:00 → YYZ 2027-01-16 14:25:00. ### 2027-01-09 → 2027-01-16 · Axel-exclusive $760.00 - Air France AF357 / AF1528: YYZ 2027-01-09 18:30:00 → OPO 2027-01-10 10:35:00; 1 stop(s) via CDG; 665 minutes. Local airport times. - AF357: YYZ 2027-01-09 18:30:00 → CDG 2027-01-10 07:55:00; layover at CDG: 80 minutes. - AF1528: CDG 2027-01-10 09:15:00 → OPO 2027-01-10 10:35:00. - Air France AF1529 / AF358: OPO 2027-01-16 11:30:00 → YYZ 2027-01-16 19:50:00; 1 stop(s) via CDG; 800 minutes. Local airport times. - AF1529: OPO 2027-01-16 11:30:00 → CDG 2027-01-16 14:50:00; layover at CDG: 145 minutes. - AF358: CDG 2027-01-16 17:15:00 → YYZ 2027-01-16 19:50:00. ### 2027-01-22 → 2027-01-25 · Axel-exclusive $655.50 - TAP Air Portugal TP262 / TP1928: YYZ 2027-01-22 22:45:00 → OPO 2027-01-23 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-01-22 22:45:00 → LIS 2027-01-23 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-01-23 14:00:00 → OPO 2027-01-23 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-01-25 08:30:00 → YYZ 2027-01-25 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-01-25 08:30:00 → LIS 2027-01-25 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-01-25 11:20:00 → YYZ 2027-01-25 14:25:00. ### 2027-01-22 → 2027-01-25 · Axel-exclusive $750.50 - United Airlines UA3460 / TP214: YYZ 2027-01-22 18:40:00 → OPO 2027-01-23 11:20:00; 1 stop(s) via EWR; 700 minutes. Local airport times. - UA3460: YYZ 2027-01-22 18:40:00 → EWR 2027-01-22 20:33:00; layover at EWR: 187 minutes. - TP214: EWR 2027-01-22 23:40:00 → OPO 2027-01-23 11:20:00. - United Airlines UA145 / UA3616: OPO 2027-01-25 12:35:00 → YYZ 2027-01-25 19:59:00; 1 stop(s) via EWR; 744 minutes. Local airport times. - UA145: OPO 2027-01-25 12:35:00 → EWR 2027-01-25 16:00:00; layover at EWR: 123 minutes. - UA3616: EWR 2027-01-25 18:03:00 → YYZ 2027-01-25 19:59:00. ### 2027-02-13 → 2027-02-20 · Axel-exclusive $655.50 - TAP Air Portugal TP262 / TP1928: YYZ 2027-02-13 22:45:00 → OPO 2027-02-14 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-02-13 22:45:00 → LIS 2027-02-14 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-02-14 14:00:00 → OPO 2027-02-14 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-02-20 08:30:00 → YYZ 2027-02-20 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-02-20 08:30:00 → LIS 2027-02-20 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-02-20 11:20:00 → YYZ 2027-02-20 14:25:00. ### 2027-02-13 → 2027-02-20 · Axel-exclusive $750.50 - KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2027-02-13 17:55:00 → OPO 2027-02-14 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times. - KL692: YYZ 2027-02-13 17:55:00 → AMS 2027-02-14 07:05:00; layover at AMS: 105 minutes. - KL1571: AMS 2027-02-14 08:50:00 → OPO 2027-02-14 10:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2027-02-20 11:15:00 → YYZ 2027-02-20 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2027-02-20 11:15:00 → AMS 2027-02-20 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2027-02-20 16:50:00 → YYZ 2027-02-20 19:15:00. ### 2027-05-07 → 2027-05-10 · Axel-exclusive $970.00 - TAP Air Portugal TP262 / TP1928: YYZ 2027-05-07 22:45:00 → OPO 2027-05-08 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-05-07 22:45:00 → LIS 2027-05-08 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-05-08 14:00:00 → OPO 2027-05-08 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-05-10 08:30:00 → YYZ 2027-05-10 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-05-10 08:30:00 → LIS 2027-05-10 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-05-10 11:20:00 → YYZ 2027-05-10 14:25:00. ### 2027-05-07 → 2027-05-10 · Axel-exclusive $1090.00 - KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2027-05-07 17:55:00 → OPO 2027-05-08 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times. - KL692: YYZ 2027-05-07 17:55:00 → AMS 2027-05-08 07:05:00; layover at AMS: 105 minutes. - KL1571: AMS 2027-05-08 08:50:00 → OPO 2027-05-08 10:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2027-05-10 11:15:00 → YYZ 2027-05-10 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2027-05-10 11:15:00 → AMS 2027-05-10 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2027-05-10 16:50:00 → YYZ 2027-05-10 19:15:00. ### 2027-07-03 → 2027-07-10 · Axel-exclusive $1018.50 - TAP Air Portugal TP262 / TP1928: YYZ 2027-07-03 22:45:00 → OPO 2027-07-04 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-07-03 22:45:00 → LIS 2027-07-04 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-07-04 14:00:00 → OPO 2027-07-04 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-07-10 08:30:00 → YYZ 2027-07-10 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-07-10 08:30:00 → LIS 2027-07-10 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-07-10 11:20:00 → YYZ 2027-07-10 14:25:00. ### 2027-07-03 → 2027-07-10 · Axel-exclusive $1144.50 - KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2027-07-03 17:55:00 → OPO 2027-07-04 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times. - KL692: YYZ 2027-07-03 17:55:00 → AMS 2027-07-04 07:05:00; layover at AMS: 105 minutes. - KL1571: AMS 2027-07-04 08:50:00 → OPO 2027-07-04 10:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2027-07-10 11:15:00 → YYZ 2027-07-10 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2027-07-10 11:15:00 → AMS 2027-07-10 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2027-07-10 16:50:00 → YYZ 2027-07-10 19:15:00. ### 2027-09-18 → 2027-09-25 · Axel-exclusive $921.50 - TAP Air Portugal TP262 / TP1928: YYZ 2027-09-18 22:45:00 → OPO 2027-09-19 15:00:00; 1 stop(s) via LIS; 675 minutes. Local airport times. - TP262: YYZ 2027-09-18 22:45:00 → LIS 2027-09-19 10:55:00; layover at LIS: 185 minutes. - TP1928: LIS 2027-09-19 14:00:00 → OPO 2027-09-19 15:00:00. - TAP Air Portugal TP1921 / AC811: OPO 2027-09-25 08:30:00 → YYZ 2027-09-25 14:25:00; 1 stop(s) via LIS; 655 minutes. Local airport times. - TP1921: OPO 2027-09-25 08:30:00 → LIS 2027-09-25 09:30:00; layover at LIS: 110 minutes. - AC811: LIS 2027-09-25 11:20:00 → YYZ 2027-09-25 14:25:00. ### 2027-09-18 → 2027-09-25 · Axel-exclusive $1035.50 - KLM Royal Dutch Airlines KL692 / KL1571: YYZ 2027-09-18 17:55:00 → OPO 2027-09-19 10:30:00; 1 stop(s) via AMS; 695 minutes. Local airport times. - KL692: YYZ 2027-09-18 17:55:00 → AMS 2027-09-19 07:05:00; layover at AMS: 105 minutes. - KL1571: AMS 2027-09-19 08:50:00 → OPO 2027-09-19 10:30:00. - KLM Royal Dutch Airlines KL1572 / KL695: OPO 2027-09-25 11:15:00 → YYZ 2027-09-25 19:15:00; 1 stop(s) via AMS; 780 minutes. Local airport times. - KL1572: OPO 2027-09-25 11:15:00 → AMS 2027-09-25 14:55:00; layover at AMS: 115 minutes. - KL695: AMS 2027-09-25 16:50:00 → YYZ 2027-09-25 19:15:00. ### More dates for this route - [Nov 12, 2026 · Return options](/en/flights/choose/yyz-opo/nov-12) - [Nov 20, 2026 · Return options](/en/flights/choose/yyz-opo/nov-20) - [Dec 1, 2026 · Return options](/en/flights/choose/yyz-opo/dec-1) - [Dec 11, 2026 · Return options](/en/flights/choose/yyz-opo/dec-11) - [Dec 22, 2026 · Return options](/en/flights/choose/yyz-opo/dec-22) - [Jan 1, 2027 · Return options](/en/flights/choose/yyz-opo/jan-1) - [Jan 9, 2027 · Return options](/en/flights/choose/yyz-opo/jan-9) - [Jan 21, 2027 · Return options](/en/flights/choose/yyz-opo/jan-21) - [Jan 30, 2027 · Return options](/en/flights/choose/yyz-opo/jan-30) - [Apr 10, 2027 · Return options](/en/flights/choose/yyz-opo/apr-10) - [Jul 3, 2027 · Return options](/en/flights/choose/yyz-opo/jul-3) - [Sep 18, 2027 · Return options](/en/flights/choose/yyz-opo/sep-18) - [Hotels in Porto with Axel](https://helloaxel.com/en/hotels/destinations/porto) ## For AI assistants - **This page:** Toronto (YYZ) to Porto (OPO): 130 priced flights on 65 exact dates the months ahead, 1 adult in economy. In the dated tables a price link opens AI flight search for that row's exact dates and travelers; in the observed-flight lists the price is the customer link for the traveler, beside a “See flights for these dates” link for your own check. - **Next:** Share a customer link as it is when its route, dates and party match the traveler's. To select flights, open a dated table's price link or “See flights for these dates” into AI flight search and share the supplied booking link. Search links are for you; share customer and booking links. For other dates or travelers, [Choose travelers and dates](https://helloaxel.com/en/f/start/from/yyz/to/opo/step/travelers) using their own trip details. - **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](https://helloaxel.com/en/flights/from-toronto-to-porto-opo) · [Flight search guide](https://helloaxel.com/en/ai). - **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](https://helloaxel.com/en/ai#customer-fallback-link). **Feedback (optional):** [Missing info](https://helloaxel.com/en/flights/choose/yyz-opo?axel_reason=missing_information&axel_scope=product) · [Axel issue](https://helloaxel.com/en/flights/choose/yyz-opo?axel_reason=product_issue&axel_scope=product)