Direct flights from Porto Francisco de Sá Carneiro Airport (OPO)
Porto Francisco de Sá Carneiro Airport in Porto, Portugal has direct flights to 88 airports in 26 countries, flown by 27 airlines. The longest is to Sao Paulo (GRU) at 8,180 km.
See every route from OPO on the mapDirect flights from OPO by country
France (19)
- BVA Beauvais · 1,240 km · ~2h · Ryanair
- BOD Bordeaux · 759 km · ~1h 25m · Ryanair and easyJet
- CCF Carcassonne · 930 km · ~1h 40m · Ryanair
- XCR Chalons · 1,311 km · ~2h 5m · Ryanair
- CFE Clermont-Ferrand · 1,079 km · ~1h 50m · Ryanair
- DLE Dole · 1,295 km · ~2h 5m · Ryanair
- LRH La Rochelle · 813 km · ~1h 30m · Ryanair
- LIL Lille · 1,376 km · ~2h 10m · Ryanair
- LYS Lyon · 1,215 km · ~2h · Transavia France and easyJet
- MRS Marseille · 1,167 km · ~1h 55m · Ryanair
- BSL Mulhouse · 1,464 km · ~2h 15m · easyJet
- NTE Nantes · 865 km · ~1h 35m · Transavia France and easyJet
- NCE Nice · 1,329 km · ~2h 5m · easyJet
- ORY Paris · 1,201 km · ~2h · Iberia, Transavia France and TAP Air Portugal +1
- CDG Paris · 1,231 km · ~2h · easyJet
- EBU St-Etienne · 1,150 km · ~1h 55m · Ryanair
- SXB Strasbourg · 1,514 km · ~2h 20m · Ryanair and Volotea
- TLS Toulouse · 865 km · ~1h 35m · Ryanair
- TUF Tours · 1,015 km · ~1h 45m · Ryanair
Germany (11)
- BER Berlin · 2,079 km · ~3h · Ryanair
- BRE Bremen · 1,852 km · ~2h 45m · Ryanair
- CGN Cologne · 1,617 km · ~2h 30m · Ryanair
- DTM Dortmund · 1,686 km · ~2h 35m · Ryanair
- FRA Frankfurt · 1,653 km · ~2h 30m · Lufthansa and TAP Air Portugal
- HHN Hahn · 1,568 km · ~2h 25m · Ryanair
- HAM Hamburg · 1,955 km · ~2h 55m · Ryanair
- FKB Karlsruhe/Baden-Baden · 1,556 km · ~2h 25m · Ryanair
- FMM Memmingen · 1,669 km · ~2h 30m · Ryanair
- MUC Munich · 1,790 km · ~2h 40m · Lufthansa and Azores Airlines
- NRN Weeze · 1,612 km · ~2h 30m · Ryanair
Spain (10)
- BCN Barcelona · 899 km · ~1h 35m · Ryanair, Iberia and Azores Airlines +2
- BIO Bilbao · 527 km · ~1h 10m · Vueling
- LPA Gran Canaria · 1,602 km · ~2h 25m · Ryanair
- GRX Granada · 618 km · ~1h 15m · Volotea
- MAD Madrid · 439 km · ~1h · Ryanair, Iberia and Azores Airlines +2
- AGP Malaga · 624 km · ~1h 15m · Ryanair
- PMI Palma de Mallorca · 984 km · ~1h 40m · Ryanair
- SVQ Sevilla · 489 km · ~1h 5m · Ryanair
- TFS Tenerife · 1,634 km · ~2h 30m · Ryanair
- VLC Valencia · 721 km · ~1h 25m · Ryanair
Italy (7)
- BGY Bergamo · 1,559 km · ~2h 25m · Ryanair
- BLQ Bologna · 1,663 km · ~2h 30m · Ryanair
- CTA Catania · 2,078 km · ~3h · Ryanair
- MXP Milano · 1,484 km · ~2h 20m · ITA Airways, Ryanair and TAP Air Portugal +1
- FCO Rome · 1,738 km · ~2h 35m · ITA Airways, Ryanair and TAP Air Portugal
- CIA Rome · 1,768 km · ~2h 40m · Ryanair
- TSF Treviso · 1,749 km · ~2h 40m · Ryanair
Portugal (5)
- FAO Faro · 475 km · ~1h 5m · Ryanair
- FNC Funchal · 1,191 km · ~1h 55m · Azores Airlines, Transavia France and TAP Air Portugal +1
- TER Lajes (terceira Island) · 1,589 km · ~2h 25m · Azores Airlines and TAP Air Portugal
- LIS Lisbon · 277 km · ~50m · Ryanair, Azores Airlines and TAP Air Portugal +1
- PDL Ponta Delgada · 1,509 km · ~2h 20m · Azores Airlines and TAP Air Portugal
Brazil (4)
- VCP Campinas · 8,171 km · ~10h 30m · Azul Airlines
- REC Recife · 6,109 km · ~7h 55m · EuroAtlantic Airways
- GIG Rio De Janeiro · 7,965 km · ~10h 15m · TAP Air Portugal
- GRU Sao Paulo · 8,180 km · ~10h 30m · TAP Air Portugal
Poland (4)
- GDN Gdansk · 2,473 km · ~3h 30m · Ryanair
- KRK Krakow · 2,401 km · ~3h 25m · Ryanair
- POZ Poznan · 2,285 km · ~3h 15m · Ryanair
- WAW Warsaw · 2,541 km · ~3h 35m · Wizz Air
United Kingdom (4)
- LPL Liverpool · 1,413 km · ~2h 15m · Ryanair
- STN London · 1,363 km · ~2h 10m · Ryanair
- LHR London · 1,298 km · ~2h 5m · British Airways
- LGW London · 1,278 km · ~2h 5m · TAP Air Portugal and easyJet
Netherlands (3)
- AMS Amsterdam · 1,595 km · ~2h 25m · Etihad Airways, Transavia and TAP Air Portugal
- EIN Eindhoven · 1,560 km · ~2h 25m · Ryanair
- MST Maastricht · 1,543 km · ~2h 25m · Ryanair
Angola (2)
- NBJ Luanda · 6,035 km · ~7h 50m · TAP Air Portugal
- LAD Luanda · 6,005 km · ~7h 50m · TAAG Angola
Belgium (2)
- BRU Brussels · 1,473 km · ~2h 20m · Ryanair, Transavia and Iberia +3
- CRL Charleroi · 1,440 km · ~2h 15m · Ryanair
Switzerland (2)
- GVA Geneva · 1,309 km · ~2h 5m · SWISS, TAP Air Portugal and easyJet
- ZRH Zurich · 1,530 km · ~2h 20m · Finnair, SWISS and TAP Air Portugal +1
United States (2)
- BOS Boston · 5,047 km · ~6h 40m · TAP Air Portugal
- EWR Newark · 5,361 km · ~7h · TAP Air Portugal
Austria (1)
- VIE Vienna · 2,125 km · ~3h 5m · Ryanair
Canada (1)
- YYZ Toronto · 5,642 km · ~7h 25m · Azores Airlines and TAP Air Portugal
Cape Verde (1)
- RAI Praia, Santiago Island · 3,257 km · ~4h 30m · easyJet
Czech Republic (1)
- PRG Prague · 2,024 km · ~3h · SmartWings Czechia
Denmark (1)
- CPH Copenhagen · 2,225 km · ~3h 15m · Ryanair
Hungary (1)
- BUD Budapest · 2,312 km · ~3h 20m · Ryanair
Ireland (1)
- DUB Dublin · 1,366 km · ~2h 10m · Ryanair
Luxembourg (1)
- LUX Luxemburg · 1,484 km · ~2h 20m · Luxair, TAP Air Portugal and easyJet
Morocco (1)
- CMN Casablanca · 881 km · ~1h 35m · Royal Air Maroc
Romania (1)
- OTP Bucharest · 2,834 km · ~3h 55m · Wizz Air Malta
Sweden (1)
- ARN Stockholm · 2,744 km · ~3h 50m · Ryanair
Turkey (1)
- IST Istanbul · 3,117 km · ~4h 20m · Turkish Airlines
Venezuela (1)
- CCS Caracas · 6,601 km · ~8h 35m · TAP Air Portugal
Airlines flying from OPO
Air Transat, Azores Airlines, Azul Airlines, British Airways, Brussels Airlines, Etihad Airways, EuroAtlantic Airways, Finnair, ITA Airways, Iberia, Lufthansa, Luxair, Royal Air Maroc, Ryanair, SWISS, SmartWings Czechia, TAAG Angola, TAP Air Portugal, THAI Airways, Transavia, Transavia France, Turkish Airlines, Volotea, Vueling, Wizz Air, Wizz Air Malta, easyJet
Going somewhere OPO doesn’t fly direct?
Wayfli finds the best one- and two-stop connections from Porto to any airport in the world. Pick a destination on the map.
Routes come from current airline fares, updated weekly (last update 9 November 2026), plus older schedule data for airports with few recent fares. “Direct” can include a few same-plane flights with a stop. Flight times are estimates from distance. Always check with the airline before booking.