# Porto Airport

Francisco Sá Carneiro Airport (IATA: OPO, ICAO: LPPR) or simply Porto Airport (formerly Pedras Rubras Airport) is an international airport near Porto (Oporto), Portugal. It is located 11 km (6.8 mi) northwest of the Clérigos Tower (in the centre of Porto). Its location is split between the municipalities of Maia, Matosinhos and Vila do Conde. The airport is run by ANA – Aeroportos de Portugal and is currently the second-busiest in the country, based on aircraft operations; and the second-busiest in passengers, based on Aeroportos de Portugal traffic statistics, after Lisbon Airport and before Faro Airport. The airport is a base for easyJet, Ryanair, TAP Air Portugal and its subsidiary TAP Express.

## Location

The airport is surrounded by the municipalities of Matosinhos (to the south and west) and Vila do Conde (to the north) and Maia (to the east). It covers the parishes of Santa Cruz do Bispo, Perafita and Lavra (in Matosinhos); Aveleda and Vilar do Pinheiro (Vila do Conde); and Vila Nova da Telha and Moreira (Maia). It includes an area of between 72 metres (236 ft) in the extreme south and 43 metres (141 ft) in the north. The southern portion of the airport intersects the hydrographic watershed of the Leça River, while the north is crossed by effluents of Onda River.

## History

The airport around Porto opened in 1945 and was initially known as Pedras Rubras Airport, after the name for the locality where the airport is located: Pedras Rubras ("red rocks"). It is still known by this name in the region. The land on which the airport was built was originally agricultural, characterised by rich soils that permitted the cultivation of various cereals.
It was renamed in 1990 after former Portuguese prime minister, Francisco de Sá Carneiro, who died in a plane crash when he was traveling to this airport on 4 December 1980.
Along with the airports in Lisbon, Faro, Ponta Delgada, Santa Maria, Horta, Flores, Madeira, and Porto Santo, the airport's concessions to provide support to civil aviation were conceded to ANA Aeroportos de Portugal on 18 December 1998, under provisions of decree 404/98. With this concession, ANA became responsible for the planning, development and construction of future infrastructure.
A new terminal building, designed by Portuguese firm ICQ, was built between 2003 and 2006, and became operational in the last quarter of 2006.
Porto Airport reached ten million passengers in a year for the first time on 6 December 2017.

## Airlines and destinations
### Passenger

The following airlines operate regular scheduled direct passenger flights at Porto Airport:
| Airlines | Destinations |
| Aegean Airlines | Seasonal: Athens |
| Air Albania | Seasonal charter: Tirana |
| Air Canada | Seasonal: Montréal–Trudeau (begins 4 June 2025) |
| Air Europa | Madrid |
| Air France | Paris–Charles de Gaulle |
| Air Horizont | Seasonal charter: Djerba (Begins 29 April 2025), Monastir (Begins 1 June 2025), Nador, Olbia, Oujda |
| Air Nostrum | Seasonal charter: Alicante, Almería, Fuerteventura, Girona, Gran Canaria, Lanzarote, Menorca, Murcia, Oujda, Palma de Mallorca, Reus, Tenerife–South |
| Air Serbia | Belgrade |
| Air Transat | Toronto–Pearson Seasonal: Montréal–Trudeau |
| airBaltic | Seasonal: Riga |
| Austrian Airlines | Seasonal: Vienna |
| Azores Airlines | Ponta Delgada, Terceira |
| Azul Brazilian Airlines | Campinas (begins 1 June 2025), Recife (begins 4 June 2025) |
| British Airways | London–Gatwick |
| Brussels Airlines | Brussels |
| Cabo Verde Airlines | Seasonal: Sal (begins 30 May 2025) |
| easyJet | Basel/Mulhouse, Bordeaux, Bristol, Funchal, Geneva, London–Gatwick, London–Luton, Luxembourg, Lyon, Marrakech, Milan–Malpensa, Nantes, Nice, Paris–Orly, Prague, Sal, Toulouse, Zürich Seasonal: Berlin, Glasgow, Ibiza, Manchester, Menorca (Begins 10 June 2025), Naples, Palermo, Palma de Mallorca, Porto Santo, Split (begins 23 June 2025) |
| Ethiopian Airlines | Addis Ababa (begins 2 July 2025) |
| Eurowings | Cologne/Bonn (begins 1 May 2025) Seasonal: Berlin, Düsseldorf, Hamburg, Stuttgart |
| Iberia | Madrid |
| Iberojet | Seasonal charter: Cancún, Punta Cana, Varna |
| Jet2.com | Seasonal: Birmingham (begins 27 March 2025), Manchester, Newcastle upon Tyne (begins 22 May 2026) |
| KLM | Amsterdam |
| Lufthansa | Frankfurt, Munich |
| Luxair | Luxembourg |
| Norwegian Air Shuttle | Seasonal: Copenhagen, Oslo, Stockholm–Arlanda (begins 4 June 2025) |
| Nouvelair | Seasonal charter: Djerba, Monastir |
| Play | Seasonal: Reykjavik–Keflavík |
| Privilege Style | Seasonal charter: Porto Santo |
| Royal Air Maroc | Casablanca |
| Ryanair | Alicante, Barcelona, Beauvais, Bergamo, Berlin, Birmingham, Bologna, Bristol, Brive, Brussels, Budapest, Châlons-Vatry, Charleroi, Clermont-Ferrand, Cologne/Bonn, Copenhagen, Dole, Dublin, Edinburgh, Eindhoven, Faro, Funchal, Hahn, Hamburg (ends 27 March 2025), Karlsruhe/Baden-Baden, Krakow, La Rochelle, Lille, London–Stansted, Luxembourg, Madrid, Málaga, Malta, Manchester, Marrakech, Marseille, Memmingen, Milan–Malpensa, Nîmes, Pisa, Ponta Delgada, Rome–Fiumicino, Seville, Stockholm–Arlanda, Strasbourg, Tangier, Terceira, Toulouse, Tours, Treviso, Turin, Valencia, Vienna, Weeze, Wrocław Seasonal: Agadir, Bari, Belfast–International, Billund, Cagliari, Carcassonne, Castellón, Gran Canaria, Ibiza, Leeds/Bradford, Liverpool, Maastricht/Aachen, Nuremberg, Palma de Mallorca, Shannon, Tenerife–South, Trapani, Verona, Warsaw–Modlin |
| Scandinavian Airlines | Seasonal: Copenhagen |
| Smartwings | Seasonal charter: Boa Vista, Dakar–Diass, Djerba, Menorca, Porto Santo, Sal |
| Sundor | Seasonal: Tel Aviv |
| Swiss International Air Lines | Geneva, Zürich |
| TAP Air Portugal | Funchal, Geneva, Lisbon, Luanda, London–Gatwick, Luxembourg, Newark, Paris–Orly, Rio de Janeiro–Galeão, São Paulo–Guarulhos, Zürich Seasonal: Boston (begins 14 May 2025), Ponta Delgada |
| Transavia | Amsterdam, Nantes, Paris–Orly Seasonal: Bordeaux, Brest, Lyon |
| Turkish Airlines | Istanbul |
| United Airlines | Seasonal: Newark |
| Volotea | Bilbao, Lyon, Nantes |
| Vueling | Barcelona, Bilbao, Paris–Orly Seasonal: Ibiza |
| Wizz Air | Rome Fiumicino Seasonal: Warsaw–Chopin |
| World2Fly | Seasonal charter: Punta Cana |

### Cargo

| Airlines | Destinations |
| UPS Airlines | Cologne/Bonn |

## Statistics
### Passenger numbers

| | Passengers | % Change |
| 2001 | 2,771,169 | |
| 2002 | 2,642,420 | 4.6% |
| 2003 | 2,675,823 | 1.3% |
| 2004 | 2,960,553 | 10.6% |
| 2005 | 3,108,271 | 5.0% |
| 2006 | 3,402,763 | 9.5% |
| 2007 | 3,986,860 | 17.2% |
| 2008 | 4,534,829 | 13.7% |
| 2009 | 4,508,533 | 0.6% |
| 2010 | 5,279,716 | 17.1% |
| 2011 | 6,004,500 | 13.7% |
| 2012 | 6,051,081 | 0.8% |
| 2013 | 6,374,045 | 5.3% |
| 2014 | 6,932,614 | 8.8% |
| 2015 | 8,088,907 | 16.7% |
| 2016 | 9,378,206 | 15.9% |
| 2017 | 10,790,271 | 15.1% |
| 2018 | 11,942,333 | 10.7% |
| 2019 | 13,112,453 | 9.8% |
| 2020 | 4,436,370 | 66.2% |
| 2021 | 5,841,819 | 31.7% |
| 2022 | 12,637,645 | 116.3% |
| 2023 | 15,205,000 | 20.3% |
| 2024 | 15,930,000 | 4.8% |
| Jan 2025 | 950,000 | 2.1% |
| Source: Pordata Vinci INE |||

### Busiest routes

Busiest routes from Porto Airport (2019) :
| Rank | City, airport | Passengers | % change | Top carriers |
| 1 | Lisbon | 1,010,696 | 10.9% | TAP Air Portugal |
| 2 | Madrid | 969,724 | 28.1% | Air Europa, Iberia, Ryanair |
| 3 | Paris–Orly | 956,886 | 4.8% | TAP Air Portugal, Transavia, Vueling |
| 4 | Geneva | 693,892 | 0.7% | EasyJet, Swiss International Air Lines |
| 5 | Barcelona | 692,305 | 16.9% | Ryanair, Vueling |
| 6 | Frankfurt | 453,082 | 1.6% | Lufthansa, Ryanair |
| 7 | Funchal | 436,849 | 13.9% | EasyJet, TAP Air Portugal |
| 8 | London–Gatwick | 387,354 | 5.9% | EasyJet, TAP Air Portugal |
| 9 | London–Stansted | 348,735 | 8.3% | Ryanair |
| 10 | Brussels | 348,262 | 25.2% | Brussels Airlines, Ryanair |

## Ground transport

Besides taxi services and the road link, there are several public transportation links available:

### Metro

The airport is served by Aeroporto station, on line E of the Porto Metro. The station has three platforms and the trains leave the arrival platform and reverse into one of the departure platforms.
The service links the airport to Porto city center and by transfer in Trindade station to high-speed trains at Campanhã, and other urban centres of Greater Porto: in Verdes station to Vila do Conde and Póvoa de Varzim (using line B), Fonte do Cuco station to Maia (line C), Senhora da Hora station to Matosinhos (line A), and Trindade station to V.N.Gaia (line D) and to Rio Tinto/Fânzeres (line F).

### Car

Sá Carneiro airport is accessible via the A41 and A28 motorways, but also the EN13 highway (using the EN107 accessway). These roadways lead to drop-off and pick-up areas and short and long-stay car parks. It can also be reached by the A4 motorway through the VRI accessway.

### Bus

STCP buses also link the airport and the city. There is also a bus that operates all night from Porto city centre to the airport. There is also bus service to/from Vigo (Galicia/Spain) twice a day on weekdays, and once a day during the weekend.

### Shuttle

The GetBUS shuttle provides 50-minute direct connections to the towns of Braga and Guimarães.

### Further proposals

As of 2020, the proposed Porto–Vigo high-speed rail line would be built via the airport.

## Accidents and incidents

* On April 27, 2021 a FedEx cargo jet was cleared for takeoff while a ground vehicle was on the runway, coming within four seconds of collision before taking off over it. The Office for the Prevention and Investigation of Accidents in Civil Aviation and Rail rated the incursion a "serious incident" and initiated a safety investigation.
This info is not accurate, since 4 seconds was the time it took the vehicle to vacate the runway where he was, north of the treshold (2 miles away from the aircraft), while the airplane was starting its take off roll. According to the final report of the investigation, the airplane passed 500 feet above the location of the vehicle, which was not on the runway anymore. This being said, the airplane took off 700 to 800 metres before the place where the vehicle was on the runway, before clearing it.