Direct flights from Porto (OPO)
From Porto Porto Airport airport, 93 destinations are served non-stop in 26 countries, with about 1,044 flights a week. With a single stop, 898 more destinations are within reach.
AirLabs data, updated 23 Oct 2026. Check schedules and fares with the airlines. “Flights a week”: estimate.
Destinations by continent
Europe · 77 destinations
| Destination | Airlines | Distance | Duration | Flights / week | Days |
|---|---|---|---|---|---|
| Lisbon (LIS), Portugal | NI · S4 · TP | 277 km | 1h 00m | ≈ 103 | every day |
| Madrid (MAD), Spain | ET · FR · IB · UX · X5 · YW | 437 km | 1h 15m | ≈ 84 | every day |
| Paris (ORY), France | TO · TP · U2 | 1,200 km | 2h 10m | ≈ 69 | every day |
| Zurich (ZRH), Switzerland | 2L · BT · LX · TP · U2 · WK | 1,530 km | 2h 30m | ≈ 51 | every day |
| Barcelona (BCN), Spain | FR · VY | 898 km | 1h 45m | ≈ 50 | every day |
| Geneva (GVA), Switzerland | LX · TP · U2 | 1,308 km | 2h 10m | ≈ 50 | every day |
| Amsterdam (AMS), Netherlands | HV · KL · V3 · WA | 1,595 km | 2h 35m | ≈ 43 | every day |
| Funchal (FNC), Portugal | NI · TP · U2 | 1,191 km | 2h 05m | ≈ 40 | every day |
| London (LGW), United Kingdom | A0 · TP · U2 | 1,280 km | 2h 20m | ≈ 40 | every day |
| Paris (CDG), France | AF | 1,232 km | 2h 15m | ≈ 24 | every day |
| Ponta Delgada (Azores) (PDL), Portugal | S4 | 1,509 km | 2h 25m | ≈ 23 | every day |
| Frankfurt (FRA), Germany | LH | 1,654 km | 2h 45m | ≈ 21 | every day |
| Luxembourg (LUX), Luxembourg | LG · U2 | 1,485 km | 2h 20m | ≈ 19 | every day |
| Nantes (NTE), France | TO · U2 · V7 | 866 km | 1h 40m | ≈ 19 | every day |
| Lyon (LYS), France | TO · U2 · V7 | 1,214 km | 2h 05m | ≈ 17 | every day |
| Istanbul (IST), Türkiye | TK | 3,103 km | 4h 35m | ≈ 16 | every day |
| Basel, Switzerland/Mulhouse (BSL), France | U2 | 1,464 km | 2h 30m | ≈ 15 | every day |
| Brussels (BRU), Belgium | SN | 1,473 km | 2h 20m | ≈ 14 | every day |
| Munich (MUC), Germany | LH | 1,790 km | 2h 50m | ≈ 14 | every day |
| Palma de Mallorca (PMI), Spain | FR · U2 | 983 km | 1h 50m | ≈ 11 | every day |
| Terceira (TER), Portugal | S4 · TP | 1,590 km | 2h 40m | ≈ 11 | every day |
| Valencia (VLC), Spain | FR | 721 km | 1h 30m | ≈ 11 | every day |
| Alicante (ALC), Spain | FR | 767 km | 1h 35m | ≈ 10 | every day |
| Malaga (AGP), Spain | FR | 623 km | 1h 25m | ≈ 10 | every day |
| Bordeaux (BOD), France | U2 | 760 km | 1h 35m | ≈ 9 | every day |
| Manchester (MAN), United Kingdom | LS · U2 | 1,431 km | 2h 25m | ≈ 9 | Mon, Tue, Wed, Thu, Fri, Sun |
| Rome (FCO), Italy | MW · W4 | 1,739 km | 2h 55m | ≈ 9 | every day |
| Vienna (VIE), Austria | LW · OS | 2,125 km | 3h 10m | ≈ 9 | every day |
| Milan (MXP), Italy | MW · U2 · W4 | 1,482 km | 2h 27m | ≈ 8 | Mon, Wed, Thu, Fri, Sun |
| Sevilla (SVQ), Spain | FR · TP | 486 km | 1h 15m | ≈ 8 | every day |
| Berlin (BER), Germany | EW · MW · U2 | 2,079 km | 3h 10m | ≈ 7 | Mon, Tue, Wed, Fri, Sat, Sun |
| Dusseldorf (DUS), Germany | 4X · EW | 1,623 km | 2h 35m | ≈ 7 | every day |
| Warsaw (WAW), Poland | LO · W6 | 2,541 km | 3h 45m | ≈ 7 | Mon, Tue, Thu, Fri, Sun |
| Hamburg (HAM), Germany | EW · GW | 1,956 km | 3h 00m | ≈ 6 | Tue, Wed, Thu, Fri, Sun |
| Milan (BGY), Italy | MW | 1,558 km | 2h 30m | ≈ 6 | Wed, Thu, Fri, Sat |
| Milan (LIN), Italy | U2 | 1,522 km | 2h 35m | ≈ 6 | Mon, Tue, Wed, Thu, Fri, Sun |
| Nice (NCE), France | U2 | 1,328 km | 2h 10m | ≈ 6 | Mon, Tue, Wed, Thu, Sat, Sun |
| Stuttgart (STR), Germany | 4X · EW | 1,626 km | 2h 35m | ≈ 6 | Mon, Tue, Wed, Thu, Fri, Sun |
| Bilbao (BIO), Spain | VY | 527 km | 1h 15m | ≈ 5 | Tue, Wed, Thu, Fri, Sun |
| Bristol (BRS), United Kingdom | U2 | 1,217 km | 2h 10m | ≈ 5 | Mon, Tue, Wed, Thu, Sat |
| London (LTN), United Kingdom | U2 | 1,341 km | 2h 20m | ≈ 5 | Mon, Wed, Fri, Sat, Sun |
| Athens (ATH), Greece | A3 | 2,802 km | 3h 45m | ≈ 4 | Tue, Wed, Thu, Sun |
| Cologne (CGN), Germany | MW · QS | 1,617 km | 2h 40m | ≈ 4 | Mon, Thu, Sat, Sun |
| Ibiza (IBZ), Spain | FR · U2 | 893 km | 1h 42m | ≈ 4 | Wed, Sat, Sun |
| Katowice (KTW), Poland | W6 | 2,363 km | 3h 25m | ≈ 4 | Mon, Wed, Fri, Sun |
| Oslo (OSL), Norway | D8 | 2,504 km | 3h 30m | ≈ 4 | Mon, Wed, Fri |
| Copenhagen (CPH), Denmark | MW · TP | 2,226 km | 3h 20m | ≈ 3 | Mon, Wed, Sat |
| Karlsruhe/Baden-Baden (FKB), Germany | MW | 1,557 km | 2h 35m | ≈ 3 | Wed, Thu, Sun |
| Menorca (MAH), Spain | U2 | 1,099 km | 1h 55m | ≈ 3 | Mon, Wed, Thu |
| Porto Santo (Madeira) (PXO), Portugal | U2 | 1,134 km | 2h 00m | ≈ 3 | Tue, Thu, Sun |
| Tenerife (TFS), Spain | FR | 1,634 km | 2h 45m | ≈ 3 | Tue, Thu, Sat |
| Benlloch (CDT), Spain | FR | 745 km | 1h 30m | ≈ 2 | Thu, Sun |
| Billund (BLL), Denmark | R6 | 2,067 km | 3h 05m | ≈ 2 | Mon, Fri |
| Birmingham (BHX), United Kingdom | LS | 1,353 km | 2h 25m | ≈ 2 | Thu, Sun |
| Brest (BES), France | TO | 868 km | 1h 40m | ≈ 2 | Mon, Fri |
| Brive-La-Gaillarde (BVE), France | V7 | 925 km | 1h 35m | ≈ 2 | Wed, Sun |
| Budapest (BUD), Hungary | RR | 2,311 km | 3h 20m | ≈ 2 | Mon, Wed |
| Dusseldorf (NRN), Germany | MW | 1,612 km | 2h 35m | ≈ 2 | Tue, Sun |
| Glasgow (GLA), United Kingdom | U2 | 1,655 km | 2h 40m | ≈ 2 | Mon, Fri |
| Hahn (HHN), Germany | MW | 1,568 km | 2h 35m | ≈ 2 | Tue, Sun |
| Las Palmas (LPA), Spain | FR | 1,601 km | 2h 45m | ≈ 2 | Mon, Thu |
| Marseille (MRS), France | MW | 1,166 km | 2h 00m | ≈ 2 | Fri |
| Naples (NAP), Italy | U2 | 1,920 km | 2h 55m | ≈ 2 | Thu, Sun |
| Newcastle (NCL), United Kingdom | LS | 1,617 km | 2h 40m | ≈ 2 | Mon, Fri |
| Palermo (PMO), Italy | U2 | 1,888 km | 2h 50m | ≈ 2 | Thu, Sun |
| Pisa (PSA), Italy | MW | 1,584 km | 2h 35m | ≈ 2 | Wed, Fri |
| Prague (PRG), Czechia | U2 | 2,025 km | 3h 10m | ≈ 2 | Wed, Sat |
| Rodez (RDZ), France | V7 | 975 km | 1h 40m | ≈ 2 | Mon, Thu |
| Strasbourg (SXB), France | V7 | 1,515 km | 2h 25m | ≈ 2 | Tue, Sat |
| Wroclaw (WRO), Poland | RR | 2,237 km | 3h 25m | ≈ 2 | Wed, Sat |
| Bologna (BLQ), Italy | MW | 1,663 km | 2h 35m | ≈ 1 | Thu |
| Krakow (KRK), Poland | RR | 2,402 km | 3h 35m | ≈ 1 | Wed |
| Malta (MLA), Malta | MW | 2,095 km | 3h 05m | ≈ 1 | Sun |
| Memmingen (FMM), Germany | MW | 1,668 km | 2h 40m | ≈ 1 | Mon |
| Nuremberg (NUE), Germany | MW | 1,787 km | 2h 50m | ≈ 1 | Thu |
| Paris (BVA), France | MW | 1,241 km | 2h 10m | ≈ 1 | Wed |
| Trapani (TPS), Italy | MW | 1,847 km | 2h 50m | ≈ 1 | Wed |
North America · 5 destinations
| Destination | Airlines | Distance | Duration | Flights / week | Days |
|---|---|---|---|---|---|
| New York (EWR), United States | TP · UA | 5,363 km | 8h 05m | ≈ 15 | every day |
| Montreal (YUL), Canada | AC · TS | 5,138 km | 7h 50m | ≈ 10 | Tue, Wed, Thu, Fri, Sat, Sun |
| New York (JFK), United States | DL | 5,335 km | 8h 01m | ≈ 8 | every day |
| Boston (BOS), United States | DL · TP | 5,049 km | 7h 20m | ≈ 6 | Mon, Wed, Sat, Sun |
| Toronto (YYZ), Canada | TS | 5,642 km | 7h 55m | ≈ 5 | Mon, Tue, Thu, Fri, Sat |
Asia · 1 destinations
| Destination | Airlines | Distance | Duration | Flights / week | Days |
|---|---|---|---|---|---|
| Tel Aviv-Yafo (TLV), Israel | LY | 3,975 km | 5h 20m | ≈ 2 | Mon, Wed |
Africa · 5 destinations
| Destination | Airlines | Distance | Duration | Flights / week | Days |
|---|---|---|---|---|---|
| Sal (SID), Cape Verde | TP · U2 | 3,048 km | 4h 30m | ≈ 8 | every day |
| Praia (RAI), Cape Verde | TP · U2 | 3,254 km | 5h 05m | ≈ 5 | Tue, Wed, Thu, Sun |
| Boa Vista (BVC), Cape Verde | TP · U2 | 3,107 km | 4h 35m | ≈ 4 | Tue, Thu, Sat |
| Casablanca (CMN), Morocco | AT | 880 km | 1h 40m | ≈ 4 | Thu, Fri, Sat, Sun |
| Sao Vicente (VXE), Cape Verde | U2 | 3,134 km | 4h 35m | ≈ 2 | Mon, Fri |
South America · 4 destinations
| Destination | Airlines | Distance | Duration | Flights / week | Days |
|---|---|---|---|---|---|
| Rio De Janeiro (GIG), Brazil | TP | 7,965 km | 10h 15m | ≈ 3 | Mon, Wed, Fri |
| Sao Paulo (GRU), Brazil | TP | 8,179 km | 10h 35m | ≈ 3 | Tue, Thu, Sat |
| Campinas (VCP), Brazil | AD | 8,171 km | 10h 25m | ≈ 2 | Mon, Fri |
| Recife (REC), Brazil | YU | 6,109 km | 8h 10m | ≈ 2 | Thu, Sun |
Longest direct flight
Sao Paulo (GRU): 8,179 km, about 10h 35m, by TAP Air Portugal.
Busiest route
Lisbon (LIS): about 103 flights a week (NI, Azores Airlines, TAP Air Portugal).
Single ticket
Ryanair also sells, under its own flight number, flights on 21 routes operated by other airlines (codeshare).
Frequently asked questions
How many direct destinations from Porto?
93 destinations in 26 countries, including 77 in Europe.
Which airlines fly from Porto?
Helvetic Airways, 4X, A0, Aegean, Air Canada, Azul, Air France, Royal Air Maroc, Air Baltic, Norwegian Air Sweden, Delta, Ethiopian, Eurowings, Ryanair, GetJet Airlines, Transavia, Iberia, KLM, Luxair, Lufthansa, LOT, Jet2, LW, Swiss, El Al, MW, NI, Austrian, SmartWings, R6, RR, Azores Airlines, Brussels Airlines, Turkish Airlines, Transavia France, TAP Air Portugal, Air Transat, easyJet, United, Air Europa, V3, Volotea, Vueling, Wizz Air Malta, Wizz Air, WA, Edelweiss Air, X5, EuroAtlantic Airways, YW.
Where can I go with a single stop?
898 destinations can be reached from Porto with a single stop. Build your itinerary on the map to find them.