Skip to content
Sabaro ♥ My selection

Morocco: airports and direct flights

The destination's airports, the regions they serve and direct flights from Europe, airline by airline, with their season and source.

Marrakesh Menara (RAK)

Regions served: Marrakesh (10 km, 0h16), High Atlas (66 km, 1h27), Essaouira (185 km, 2h42), Agadir (248 km, 2h59), Safi (159 km, 3h06), Azilal and Ouzoud waterfalls (164 km, 3h11), El Jadida and Oualidia (203 km, 3h15), Taghazout (272 km, 3h22), Taroudant (268 km, 3h22), Ouarzazate, Ait Ben Haddou and the Draa Valley (199 km, 3h48)

DepartureAirlineSeasonFlight timeSource
Basel-Mulhouse (EuroAirport)easyJetall year—euroairport.com (accessed 20 October 2026)
Bordeaux–MérignacRoyal Air Marocall year2h30bordeaux.aeroport.fr (accessed 20 October 2026)
Bordeaux–MérignacVoloteawinter2h30bordeaux.aeroport.fr (accessed 20 October 2026)
Bordeaux–MérignaceasyJetall year2h30bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportRoyal Air Marocnot specified3h25royalairmaroc.com (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels AirportTransavianot specified3h35transavia.com (accessed 21 October 2026)
Brussels South CharleroiRyanairall year3h32ryanair.com (accessed 21 October 2026)
Dole–JuraRyanairall year3h10ryanair.com (accessed 20 October 2026)
La Rochelle–Île de RéRyanairwinter2h40ryanair.com (accessed 20 October 2026)
Lille–LesquinTUI flyall year3h45lille.aeroport.fr (accessed 20 October 2026)
Lille–LesquinTransaviawinter3h45lille.aeroport.fr (accessed 20 October 2026)
Lille–LesquinVoloteawinter3h45lille.aeroport.fr (accessed 20 October 2026)
Lille–LesquineasyJetall year3h45lille.aeroport.fr (accessed 20 October 2026)
Limoges–BellegardeRyanairwinter2h45ryanair.com (accessed 20 October 2026)
Lyon–Saint-ExupéryRoyal Air Marocall year3h10lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryTransaviaall year3h10lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryVoloteanot specified3h10lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryeasyJetall year3h10lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRoyal Air Marocall year—marseille.aeroport.fr (accessed 20 October 2026)
Marseille ProvenceRyanairall year2h48ryanair.com (accessed 20 October 2026)
Marseille ProvenceTransaviaall year—marseille.aeroport.fr (accessed 20 October 2026)
Montpellier–MéditerranéeTransaviaall year2h55montpellier.aeroport.fr (accessed 20 October 2026)
Nantes AtlantiqueRoyal Air Marocall year2h55newsroom.nantes.aeroport.fr (accessed 20 October 2026)
Nice Côte d'AzureasyJetall year3h05nice.aeroport.fr (accessed 20 October 2026)
Nîmes–GaronsRyanairall year2h50ryanair.com (accessed 20 October 2026)
Paris–BeauvaisRyanairall year3h20ryanair.com (accessed 20 October 2026)
Paris–Charles de GaulleRoyal Air Marocnot specified3h20royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyRoyal Air Marocnot specified3h20royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyTUI flynot specified—tuifly.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h25transavia.com (accessed 20 October 2026)
Paris–OrlyVuelingnot specified3h00vueling.com (accessed 20 October 2026)
Paris–VatryRyanairall year3h22ryanair.com (accessed 20 October 2026)
Perpignan–RivesaltesRyanairall year2h35ryanair.com (accessed 20 October 2026)
Rennes–BretagneTransavianot specified—rennes.aeroport.fr (accessed 20 October 2026)
Strasbourg–EntzheimVoloteawinter—strasbourg.aeroport.fr (accessed 20 October 2026)
Strasbourg–EntzheimeasyJetall year—strasbourg.aeroport.fr (accessed 20 October 2026)
Toulouse–BlagnacRoyal Air Marocnot specified—toulouse.aeroport.fr (accessed 20 October 2026)
Toulouse–BlagnacRyanairall year2h35ryanair.com (accessed 20 October 2026)
Toulouse–BlagnaceasyJetall year—toulouse.aeroport.fr (accessed 20 October 2026)
Tours Val de LoireRyanairall year2h55ryanair.com (accessed 20 October 2026)

Agadir–Al Massira (AGA)

Regions served: Agadir (33 km, 0h49), Taghazout (57 km, 1h11), Taroudant (66 km, 1h16), Tafraout and the Anti-Atlas (137 km, 2h54), Sidi Ifni, Mirleft and Legzira (170 km, 3h04), Essaouira (209 km, 3h41)

DepartureAirlineSeasonFlight timeSource
Basel-Mulhouse (EuroAirport)easyJetall year—euroairport.com (accessed 20 October 2026)
Bordeaux–MérignacVoloteawinter2h45bordeaux.aeroport.fr (accessed 20 October 2026)
Bordeaux–MérignaceasyJetwinter2h45bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels AirportTransavianot specified—transavia.com (accessed 21 October 2026)
Brussels South CharleroiRyanairall year3h45ryanair.com (accessed 21 October 2026)
Lille–LesquinTUI flyall year3h00lille.aeroport.fr (accessed 20 October 2026)
Lille–LesquinVoloteawinter3h00lille.aeroport.fr (accessed 20 October 2026)
Lyon–Saint-ExupéryTransaviaall year—lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryeasyJetall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRyanairall year3h00ryanair.com (accessed 20 October 2026)
Montpellier–MéditerranéeTransaviasummer2h15montpellier.aeroport.fr (accessed 20 October 2026)
Nantes AtlantiqueRyanairall year3h02ryanair.com (accessed 20 October 2026)
Nice Côte d'AzureasyJetsummer3h10nice.aeroport.fr (accessed 20 October 2026)
Paris–BeauvaisRyanairall year3h30ryanair.com (accessed 20 October 2026)
Paris–OrlyRoyal Air Marocnot specified3h30royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyTUI flynot specified—tuifly.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h35transavia.com (accessed 20 October 2026)
Toulouse–BlagnacRyanairall year2h50ryanair.com (accessed 20 October 2026)

Fez–Saïss (FEZ)

Regions served: Fez (14 km, 0h19), Meknes and Volubilis (66 km, 0h58), Ifrane and the Middle Atlas (57 km, 1h00), Rabat (201 km, 2h26)

DepartureAirlineSeasonFlight timeSource
Bordeaux–MérignacAir Arabia Marocall year2h30bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportAir Arabia Marocnot specified—airarabia.com (accessed 21 October 2026)
Brussels AirportTUI flynot specified—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairall year3h02ryanair.com (accessed 21 October 2026)
Dole–JuraRyanairall year2h38ryanair.com (accessed 20 October 2026)
Lille–LesquinRyanairsummer3h00ryanair.com (accessed 20 October 2026)
Lyon–Saint-ExupéryAir Arabia Marocall year—lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryTransaviaall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceAir Arabia Marocall year—marseille.aeroport.fr (accessed 20 October 2026)
Marseille ProvenceRyanairall year2h15ryanair.com (accessed 20 October 2026)
Montpellier–MéditerranéeAir Arabia Marocall year2h10montpellier.aeroport.fr (accessed 20 October 2026)
Nantes AtlantiqueRyanairall year2h25ryanair.com (accessed 20 October 2026)
Nîmes–GaronsRyanairall year2h15ryanair.com (accessed 20 October 2026)
Paris–BeauvaisRyanairall year2h50ryanair.com (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h00transavia.com (accessed 20 October 2026)
Toulouse–BlagnacAir Arabia Marocall year—toulouse.aeroport.fr (accessed 20 October 2026)
Toulouse–BlagnacRyanairall year2h05ryanair.com (accessed 20 October 2026)

Casablanca Mohammed V (CMN)

Regions served: Casablanca (32 km, 0h34), Rabat (110 km, 1h21), El Jadida and Oualidia (116 km, 1h27), Safi (254 km, 2h53), Azilal and Ouzoud waterfalls (243 km, 3h40)

DepartureAirlineSeasonFlight timeSource
Basel-Mulhouse (EuroAirport)Air Arabia Marocall year—euroairport.com (accessed 20 October 2026)
Bordeaux–MérignacRoyal Air Marocall year2h20bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportAir Arabia Marocnot specified—airarabia.com (accessed 21 October 2026)
Brussels AirportRoyal Air Marocnot specified3h25royalairmaroc.com (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Lille–LesquinRoyal Air Marocall year2h45lille.aeroport.fr (accessed 20 October 2026)
Lille–LesquinTUI flyall year2h45lille.aeroport.fr (accessed 20 October 2026)
Lyon–Saint-ExupéryAir Arabia Marocall year—lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryRoyal Air Marocall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRoyal Air Marocall year—marseille.aeroport.fr (accessed 20 October 2026)
Montpellier–MéditerranéeAir Arabia Marocall year2h35montpellier.aeroport.fr (accessed 20 October 2026)
Montpellier–MéditerranéeRoyal Air Marocall year2h35montpellier.aeroport.fr (accessed 20 October 2026)
Nice Côte d'AzurRoyal Air Marocall year2h40nice.aeroport.fr (accessed 20 October 2026)
Paris–Charles de GaulleAir Francenot specified—wwws.airfrance.fr (accessed 20 October 2026)
Paris–Charles de GaulleRoyal Air Marocall year3h00royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyRoyal Air Marocall year3h00royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyTUI flynot specified—tuifly.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h10transavia.com (accessed 20 October 2026)
Strasbourg–EntzheimRoyal Air Marocall year—strasbourg.aeroport.fr (accessed 20 October 2026)
Toulouse–BlagnacRoyal Air Marocall year—toulouse.aeroport.fr (accessed 20 October 2026)

Rabat–Salé (RBA)

Regions served: Rabat (11 km, 0h16), Casablanca (104 km, 1h27), Meknes and Volubilis (142 km, 1h49), Asilah, Larache and Lixus (195 km, 2h18), Fez (200 km, 2h23), El Jadida and Oualidia (204 km, 2h28), Tangier (238 km, 2h52), Ifrane and the Middle Atlas (198 km, 2h53)

DepartureAirlineSeasonFlight timeSource
Basel-Mulhouse (EuroAirport)Air Arabia Marocall year—euroairport.com (accessed 20 October 2026)
Bordeaux–MérignaceasyJetall year2h15bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportAir Arabia Marocnot specified—airarabia.com (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairall year3h10ryanair.com (accessed 21 October 2026)
Lyon–Saint-ExupéryeasyJetall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRyanairall year2h25ryanair.com (accessed 20 October 2026)
Montpellier–MéditerranéeTransaviasummer2h25montpellier.aeroport.fr (accessed 20 October 2026)
Nice Côte d'AzureasyJetall year2h50nice.aeroport.fr (accessed 20 October 2026)
Paris–BeauvaisRyanairall year2h55ryanair.com (accessed 20 October 2026)
Paris–Charles de GaulleAir Arabia Marocnot specified—flights.airarabia.com (accessed 20 October 2026)
Paris–Charles de GaulleRoyal Air Marocnot specified3h00royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyRoyal Air Marocnot specified3h00royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyTUI flynot specified—tuifly.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified2h55transavia.com (accessed 20 October 2026)
Toulouse–BlagnacRyanairall year2h10ryanair.com (accessed 20 October 2026)

Tangier Ibn Battouta (TNG)

Regions served: Tangier (13 km, 0h17), Asilah, Larache and Lixus (41 km, 0h37), Tetouan and Tamuda Bay (72 km, 1h08), Chefchaouen (124 km, 2h09)

DepartureAirlineSeasonFlight timeSource
Basel-Mulhouse (EuroAirport)easyJetall year—euroairport.com (accessed 20 October 2026)
Bordeaux–MérignacAir Arabia Marocall year2h00bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportAir Arabia Marocnot specified—airarabia.com (accessed 21 October 2026)
Brussels AirportBrussels Airlinessummer3h05brusselsairlines.com (accessed 21 October 2026)
Brussels AirportRoyal Air Marocnot specified2h55royalairmaroc.com (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairall year2h58ryanair.com (accessed 21 October 2026)
CarcassonneRyanairsummer2h00ryanair.com (accessed 20 October 2026)
Lyon–Saint-ExupéryAir Arabia Marocall year—lyonaeroports.com (accessed 20 October 2026)
Lyon–Saint-ExupéryeasyJetall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRyanairall year2h15ryanair.com (accessed 20 October 2026)
Montpellier–MéditerranéeTransaviasummer2h10montpellier.aeroport.fr (accessed 20 October 2026)
Paris–BeauvaisRyanairall year2h45ryanair.com (accessed 20 October 2026)
Paris–Charles de GaulleAir Francewinter—wwws.airfrance.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified2h50transavia.com (accessed 20 October 2026)
Paris–OrlyVuelingall year2h40vueling.com (accessed 20 October 2026)
Toulouse–BlagnacRyanairall year2h00ryanair.com (accessed 20 October 2026)

Oujda–Angads (OUD)

Regions served: Oujda and Saidia (15 km, 0h22)

DepartureAirlineSeasonFlight timeSource
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairwinter3h00ryanair.com (accessed 21 October 2026)
Lille–LesquinTUI flyall year2h05lille.aeroport.fr (accessed 20 October 2026)
Lyon–Saint-ExupéryTransavianot specified—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRyanairwinter2h05ryanair.com (accessed 20 October 2026)
Paris–BeauvaisRyanairwinter2h45ryanair.com (accessed 20 October 2026)
Paris–OrlyRoyal Air Marocnot specified2h40royalairmaroc.com (accessed 20 October 2026)
Paris–OrlyTUI flynot specified—tuifly.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified2h50transavia.com (accessed 20 October 2026)
Toulouse–BlagnacRyanairwinter1h55ryanair.com (accessed 20 October 2026)

Essaouira–Mogador (ESU)

Regions served: Essaouira (19 km, 0h25), Safi (126 km, 2h14), Taghazout (145 km, 2h26), Agadir (169 km, 2h48), Marrakesh (189 km, 2h53)

DepartureAirlineSeasonFlight timeSource
Bordeaux–MérignaceasyJetall year2h50bordeaux.aeroport.fr (accessed 20 October 2026)
Brussels AirportTUI flynot specified—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairwinter3h40ryanair.com (accessed 21 October 2026)
Lyon–Saint-ExupéryeasyJetall year—lyonaeroports.com (accessed 20 October 2026)
Marseille ProvenceRyanairwinter2h55ryanair.com (accessed 20 October 2026)
Nantes AtlantiqueeasyJetwinter—newsroom.nantes.aeroport.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h30transavia.com (accessed 20 October 2026)

Nador–Al Aroui (NDR)

Regions served: Al Hoceima (124 km, 2h04), Oujda and Saidia (142 km, 2h06)

DepartureAirlineSeasonFlight timeSource
Brussels AirportAir Arabia Marocnot specified—airarabia.com (accessed 21 October 2026)
Brussels AirportBrussels Airlinessummer3h00brusselsairlines.com (accessed 21 October 2026)
Brussels AirportRoyal Air Marocnot specified3h15royalairmaroc.com (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairwinter2h55ryanair.com (accessed 21 October 2026)
Marseille ProvenceRyanairwinter2h05ryanair.com (accessed 20 October 2026)
Montpellier–MéditerranéeAir Arabia Marocall year2h00montpellier.aeroport.fr (accessed 20 October 2026)
Paris–BeauvaisRyanairwinter2h40ryanair.com (accessed 20 October 2026)
Paris–OrlyTransavianot specified2h50transavia.com (accessed 20 October 2026)

Dakhla (VIL)

Regions served: Dakhla (2 km, 0h04)

DepartureAirlineSeasonFlight timeSource
Marseille ProvenceTransaviawinter—marseille.aeroport.fr (accessed 20 October 2026)
Paris–OrlyTransavianot specified5h00transavia.com (accessed 20 October 2026)

Ouarzazate (OZZ)

Regions served: Ouarzazate, Ait Ben Haddou and the Draa Valley (3 km, 0h07), Dades and Todgha valleys (113 km, 2h07)

DepartureAirlineSeasonFlight timeSource
Marseille ProvenceRyanairwinter2h45ryanair.com (accessed 20 October 2026)
Paris–OrlyTransavianot specified3h25transavia.com (accessed 20 October 2026)

Tetouan–Sania Ramel (TTU)

Regions served: Tetouan and Tamuda Bay (6 km, 0h08), Tangier (62 km, 1h02), Chefchaouen (67 km, 1h19), Asilah, Larache and Lixus (103 km, 1h25)

DepartureAirlineSeasonFlight timeSource
Brussels AirportRoyal Air Marocwinter—pressroom.brusselsairport.be (accessed 21 October 2026)
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)
Brussels South CharleroiRyanairwinter2h50ryanair.com (accessed 21 October 2026)

Al Hoceima–Cherif Al Idrissi (AHU)

Regions served: Al Hoceima (17 km, 0h24), Fez (257 km, 3h59)

DepartureAirlineSeasonFlight timeSource
Brussels AirportTUI flyall year—tuifly.be (accessed 21 October 2026)

Errachidia–Moulay Ali Cherif (ERH)

Regions served: Merzouga and Erg Chebbi (121 km, 2h06), Dades and Todgha valleys (193 km, 3h24)

DepartureAirlineSeasonFlight timeSource
Paris–OrlyTransavianot specified3h25transavia.com (accessed 20 October 2026)

Other airports, with no direct flight found (France, Belgium)

Direct flights checked on airport and airline websites, as of each source's date. Only flights confirmed by an official source are listed; others may exist. They change every aviation season (late March and late October). Check with the airline before booking. Road distances and times: route calculation on OpenStreetMap, without traffic or checkpoints.

Source: OurAirports — accessed 20 October 2026

Request a trip: Morocco

A travel advisor replies by email. Free, no commitment.

Get our trip ideas

One letter a month, at the right time to book. Unsubscribe in one click.

Your address is only used to send the newsletter; you can unsubscribe at any time. Details in the privacy policy.