Lowcost flights from Madrid (Spain) to Porto (Portugal), €11 - €42

Direct distance between cities: 422 km. Average direct flight time is 1:29 hours.

Please note! Some routes are seasonal.

From Madrid to Porto with Ryanair (FR)
From Madrid to Porto with Iberia Express (I2)
From Madrid to Porto with Level (IB)
From Madrid to Porto with EasyJet (U2)
From Madrid to Porto with Air Europa Express (X5)
Average ticket price: €11 - €42

Connection in Agadir (Morocco)
From Madrid to Agadir with Ryanair (FR)
Average ticket price: €31 - €124
From Agadir to Porto with Ryanair (FR)
Average ticket price: €30 - €120
Connection in Alicante (Spain)
From Madrid to Alicante with Air Europa Express (X5)
From Madrid to Alicante with Level (IB)
From Madrid to Alicante with Vueling (VY)
Average ticket price: €9 - €36
From Alicante to Porto with Ryanair (FR)
Average ticket price: €19 - €76
Connection in Amsterdam (Netherlands)
From Madrid to Amsterdam with Aerolíneas (AR)
From Madrid to Amsterdam with Gol Transportes Aéreos (G3)
From Madrid to Amsterdam with Iberia Express (I2)
From Madrid to Amsterdam with Level (IB)
From Madrid to Amsterdam with Vueling (VY)
From Madrid to Amsterdam with EasyJet (U2)
Average ticket price: €37 - €148
From Amsterdam to Porto with Gol Transportes Aéreos (G3)
From Amsterdam to Porto with Transavia (HV)
Average ticket price: €40 - €161
Connection in Athens (Greece)
From Madrid to Athens with Level (IB)
From Madrid to Athens with Volotea (V7)
Average ticket price: €60 - €239
From Athens to Porto with Volotea (V7)
Average ticket price: €70 - €280
Connection in Barcelona (Spain)
From Madrid to Barcelona with Aerolíneas (AR)
From Madrid to Barcelona with Air Europa Express (X5)
From Madrid to Barcelona with Level (IB)
From Madrid to Barcelona with Vueling (VY)
Average ticket price: €13 - €51
From Barcelona to Porto with Ryanair (FR)
From Barcelona to Porto with Level (IB)
From Barcelona to Porto with Vueling (VY)
Average ticket price: €23 - €90
Connection in Bari (Italy)
From Madrid to Bari with Ryanair (FR)
Average ticket price: €43 - €173
From Bari to Porto with Ryanair (FR)
Average ticket price: €53 - €213
Connection in Basel, Switzerland/Mulhouse (Switzerland)
From Madrid to Basel, Switzerland/Mulhouse with EasyJet (U2)
Average ticket price: €30 - €120
From Basel, Switzerland/Mulhouse to Porto with EasyJet (U2)
Average ticket price: €37 - €146
Connection in Berlin (Germany)
From Madrid to Berlin with Eurowings (EW)
From Madrid to Berlin with Ryanair (FR)
From Madrid to Berlin with Iberia Express (I2)
From Madrid to Berlin with Level (IB)
From Madrid to Berlin with EasyJet (U2)
Average ticket price: €47 - €187
From Berlin to Porto with Eurowings (EW)
From Berlin to Porto with Ryanair (FR)
From Berlin to Porto with EasyJet (U2)
Average ticket price: €52 - €209
Connection in Bilbao (Spain)
From Madrid to Bilbao with Aerolíneas (AR)
From Madrid to Bilbao with Ryanair (FR)
From Madrid to Bilbao with Air Europa Express (X5)
From Madrid to Bilbao with Iberia Express (I2)
From Madrid to Bilbao with Level (IB)
From Madrid to Bilbao with Vueling (VY)
From Madrid to Bilbao with EasyJet (U2)
Average ticket price: €8 - €32
From Bilbao to Porto with Level (IB)
From Bilbao to Porto with Volotea (V7)
From Bilbao to Porto with Vueling (VY)
Average ticket price: €13 - €52
Connection in Billund (Denmark)
From Madrid to Billund with Ryanair (FR)
Average ticket price: €49 - €195
From Billund to Porto with Ryanair (FR)
Average ticket price: €52 - €207
Connection in Birmingham (United Kingdom)
From Madrid to Birmingham with Ryanair (FR)
Average ticket price: €34 - €135
From Birmingham to Porto with Ryanair (FR)
Average ticket price: €34 - €136
Connection in Bologna (Italy)
From Madrid to Bologna with Ryanair (FR)
From Madrid to Bologna with Level (IB)
From Madrid to Bologna with Vueling (VY)
Average ticket price: €33 - €131
From Bologna to Porto with Ryanair (FR)
Average ticket price: €42 - €167
Connection in Bordeaux (France)
From Madrid to Bordeaux with Ryanair (FR)
From Madrid to Bordeaux with Level (IB)
From Madrid to Bordeaux with Volotea (V7)
From Madrid to Bordeaux with Vueling (VY)
From Madrid to Bordeaux with EasyJet (U2)
Average ticket price: €14 - €55
From Bordeaux to Porto with Ryanair (FR)
From Bordeaux to Porto with EasyJet (U2)
Average ticket price: €19 - €77
Connection in Bristol (United Kingdom)
From Madrid to Bristol with Ryanair (FR)
From Madrid to Bristol with EasyJet (U2)
Average ticket price: €31 - €122
From Bristol to Porto with Ryanair (FR)
From Bristol to Porto with EasyJet (U2)
Average ticket price: €31 - €123
Connection in Brussels (Belgium)
From Madrid to Brussels with Ryanair (FR)
From Madrid to Brussels with Air Europa Express (X5)
From Madrid to Brussels with Iberia Express (I2)
From Madrid to Brussels with Level (IB)
From Madrid to Brussels with Vueling (VY)
Average ticket price: €33 - €132
From Brussels to Porto with Ryanair (FR)
From Brussels to Porto with Level (IB)
From Brussels to Porto with Vueling (VY)
Average ticket price: €37 - €147
Connection in Budapest (Hungary)
From Madrid to Budapest with Wizz Air (W6)
From Madrid to Budapest with Ryanair (FR)
From Madrid to Budapest with Buzz (RR)
From Madrid to Budapest with Iberia Express (I2)
From Madrid to Budapest with Level (IB)
From Madrid to Budapest with Vueling (VY)
Average ticket price: €49 - €197
From Budapest to Porto with Ryanair (FR)
From Budapest to Porto with Buzz (RR)
Average ticket price: €57 - €230
Connection in Cagliari (Italy)
From Madrid to Cagliari with Ryanair (FR)
Average ticket price: €27 - €110
From Cagliari to Porto with Ryanair (FR)
Average ticket price: €38 - €151
Connection in Clermont-Ferrand (France)
From Madrid to Clermont-Ferrand with Level (IB)
Average ticket price: €20 - €82
From Clermont-Ferrand to Porto with Ryanair (FR)
Average ticket price: €27 - €108
Connection in Copenhagen (Denmark)
From Madrid to Copenhagen with Ryanair (FR)
From Madrid to Copenhagen with Norwegian Air Shuttle (DY)
From Madrid to Copenhagen with Iberia Express (I2)
From Madrid to Copenhagen with Level (IB)
From Madrid to Copenhagen with Vueling (VY)
From Madrid to Copenhagen with Norwegian Air Sweden (D8)
From Madrid to Copenhagen with EasyJet (U2)
Average ticket price: €52 - €208
From Copenhagen to Porto with Ryanair (FR)
From Copenhagen to Porto with Norwegian Air Sweden (D8)
Average ticket price: €56 - €223
Connection in Dublin (Ireland)
From Madrid to Dublin with Ryanair (FR)
From Madrid to Dublin with Iberia Express (I2)
From Madrid to Dublin with Level (IB)
From Madrid to Dublin with Vueling (VY)
Average ticket price: €37 - €146
From Dublin to Porto with Ryanair (FR)
Average ticket price: €34 - €138
Connection in Dusseldorf (Germany)
From Madrid to Dusseldorf with Eurowings (EW)
From Madrid to Dusseldorf with Ryanair (FR)
From Madrid to Dusseldorf with Iberia Express (I2)
From Madrid to Dusseldorf with Level (IB)
From Madrid to Dusseldorf with Vueling (VY)
Average ticket price: €36 - €145
From Dusseldorf to Porto with Eurowings Europe (E6)
From Dusseldorf to Porto with Eurowings (EW)
From Dusseldorf to Porto with Ryanair (FR)
Average ticket price: €41 - €163
Connection in Edinburgh (United Kingdom)
From Madrid to Edinburgh with Iberia Express (I2)
From Madrid to Edinburgh with Level (IB)
From Madrid to Edinburgh with EasyJet (U2)
Average ticket price: €43 - €173
From Edinburgh to Porto with Ryanair (FR)
Average ticket price: €42 - €169
Connection in Eindhoven (Netherlands)
From Madrid to Eindhoven with Transavia (HV)
Average ticket price: €35 - €141
From Eindhoven to Porto with Ryanair (FR)
Average ticket price: €39 - €157
Connection in Frankfurt (Germany)
From Madrid to Frankfurt with Ryanair (FR)
From Madrid to Frankfurt with Air Europa Express (X5)
From Madrid to Frankfurt with Iberia Express (I2)
From Madrid to Frankfurt with Level (IB)
From Madrid to Frankfurt with Vueling (VY)
Average ticket price: €36 - €144
From Frankfurt to Porto with Ryanair (FR)
Average ticket price: €41 - €166
Connection in Funchal (Portugal)
From Madrid to Funchal with Level (IB)
Average ticket price: €36 - €145
From Funchal to Porto with Transavia France (TO)
From Funchal to Porto with Ryanair (FR)
From Funchal to Porto with EasyJet (U2)
Average ticket price: €30 - €119
Connection in Geneva (Switzerland)
From Madrid to Geneva with Level (IB)
From Madrid to Geneva with EasyJet (U2)
Average ticket price: €26 - €102
From Geneva to Porto with EasyJet (U2)
Average ticket price: €33 - €131
Connection in Hamburg (Germany)
From Madrid to Hamburg with Level (IB)
Average ticket price: €45 - €179
From Hamburg to Porto with Eurowings (EW)
From Hamburg to Porto with Ryanair (FR)
Average ticket price: €49 - €196
Connection in Ibiza (Spain)
From Madrid to Ibiza with Ryanair (FR)
From Madrid to Ibiza with Air Europa Express (X5)
From Madrid to Ibiza with Iberia Express (I2)
From Madrid to Ibiza with Level (IB)
From Madrid to Ibiza with Vueling (VY)
Average ticket price: €12 - €47
From Ibiza to Porto with Ryanair (FR)
From Ibiza to Porto with EasyJet (U2)
Average ticket price: €22 - €89
Connection in Istanbul (Turkey)
From Madrid to Istanbul with Pegasus Airlines (PC)
From Madrid to Istanbul with Level (IB)
Average ticket price: €68 - €273
From Istanbul to Porto with IndiGo (6E)
Average ticket price: €78 - €311
Connection in Krakow (Poland)
From Madrid to Krakow with Ryanair (FR)
From Madrid to Krakow with Buzz (RR)
Average ticket price: €53 - €212
From Krakow to Porto with Ryanair (FR)
From Krakow to Porto with Buzz (RR)
Average ticket price: €60 - €240
Connection in Las Palmas (Spain)
From Madrid to Las Palmas with Aerolíneas (AR)
From Madrid to Las Palmas with Ryanair (FR)
From Madrid to Las Palmas with Iberia Express (I2)
From Madrid to Las Palmas with Level (IB)
From Madrid to Las Palmas with Vueling (VY)
Average ticket price: €44 - €175
From Las Palmas to Porto with Ryanair (FR)
Average ticket price: €40 - €159
Connection in Lisbon (Portugal)
From Madrid to Lisbon with Aerolíneas (AR)
From Madrid to Lisbon with Beijing Capital Airlines (JD)
From Madrid to Lisbon with Ryanair (FR)
From Madrid to Lisbon with Air Europa Express (X5)
From Madrid to Lisbon with Level (IB)
From Madrid to Lisbon with Vueling (VY)
From Madrid to Lisbon with EasyJet (U2)
Average ticket price: €13 - €50
From Lisbon to Porto with Beijing Capital Airlines (JD)
From Lisbon to Porto with Ryanair (FR)
Average ticket price: €7 - €28
Connection in Liverpool (United Kingdom)
From Madrid to Liverpool with Ryanair (FR)
From Madrid to Liverpool with EasyJet (U2)
Average ticket price: €36 - €144
From Liverpool to Porto with Ryanair (FR)
Average ticket price: €36 - €142
Connection in London (United Kingdom)
From Madrid to London with Aerolíneas (AR)
From Madrid to London with Ryanair (FR)
From Madrid to London with Iberia Express (I2)
From Madrid to London with Level (IB)
From Madrid to London with Vueling (VY)
From Madrid to London with EasyJet (U2)
Average ticket price: €32 - €127
From London to Porto with Ryanair (FR)
From London to Porto with EasyJet (U2)
From London to Porto with Ryanair UK (RK)
Average ticket price: €33 - €133
Connection in Luxembourg (Luxembourg)
From Madrid to Luxembourg with Ryanair (FR)
Average ticket price: €32 - €129
From Luxembourg to Porto with Ryanair (FR)
From Luxembourg to Porto with EasyJet (U2)
Average ticket price: €37 - €149
Connection in Lyon (France)
From Madrid to Lyon with Iberia Express (I2)
From Madrid to Lyon with Level (IB)
From Madrid to Lyon with Volotea (V7)
From Madrid to Lyon with Vueling (VY)
From Madrid to Lyon with EasyJet (U2)
Average ticket price: €23 - €91
From Lyon to Porto with Transavia France (TO)
From Lyon to Porto with Volotea (V7)
From Lyon to Porto with EasyJet (U2)
Average ticket price: €30 - €120
Connection in Malaga (Spain)
From Madrid to Malaga with Air Europa Express (X5)
From Madrid to Malaga with Iberia Express (I2)
From Madrid to Malaga with Level (IB)
From Madrid to Malaga with Vueling (VY)
From Madrid to Malaga with EasyJet (U2)
Average ticket price: €10 - €42
From Malaga to Porto with Ryanair (FR)
Average ticket price: €15 - €61
Connection in Malta (Malta)
From Madrid to Malta with Ryanair (FR)
From Madrid to Malta with Level (IB)
Average ticket price: €42 - €167
From Malta to Porto with Ryanair (FR)
Average ticket price: €52 - €209
Connection in Manchester (United Kingdom)
From Madrid to Manchester with Ryanair (FR)
From Madrid to Manchester with Iberia Express (I2)
From Madrid to Manchester with Level (IB)
Average ticket price: €36 - €146
From Manchester to Porto with Ryanair (FR)
From Manchester to Porto with EasyJet (U2)
From Manchester to Porto with Jet2.com (LS)
Average ticket price: €36 - €145
Connection in Marrakech (Morocco)
From Madrid to Marrakech with Ryanair (FR)
From Madrid to Marrakech with Iberia Express (I2)
From Madrid to Marrakech with Level (IB)
From Madrid to Marrakech with Vueling (VY)
Average ticket price: €26 - €106
From Marrakech to Porto with Ryanair (FR)
From Marrakech to Porto with EasyJet (U2)
Average ticket price: €27 - €106
Connection in Marseille (France)
From Madrid to Marseille with Ryanair (FR)
From Madrid to Marseille with Level (IB)
Average ticket price: €20 - €82
From Marseille to Porto with Ryanair (FR)
Average ticket price: €29 - €118
Connection in Milan (Italy)
From Madrid to Milan with Ryanair (FR)
From Madrid to Milan with Wizz Air Malta (W4)
From Madrid to Milan with Iberia Express (I2)
From Madrid to Milan with Level (IB)
From Madrid to Milan with Vueling (VY)
From Madrid to Milan with EasyJet (U2)
Average ticket price: €30 - €119
From Milan to Porto with Ryanair (FR)
From Milan to Porto with EasyJet (U2)
Average ticket price: €38 - €152
Connection in Nantes (France)
From Madrid to Nantes with Level (IB)
From Madrid to Nantes with Volotea (V7)
Average ticket price: €19 - €78
From Nantes to Porto with Transavia France (TO)
From Nantes to Porto with Volotea (V7)
From Nantes to Porto with EasyJet (U2)
Average ticket price: €22 - €88
Connection in Naples (Italy)
From Madrid to Naples with Ryanair (FR)
From Madrid to Naples with Iberia Express (I2)
From Madrid to Naples with Level (IB)
From Madrid to Naples with EasyJet (U2)
Average ticket price: €38 - €151
From Naples to Porto with EasyJet (U2)
Average ticket price: €48 - €191
Connection in Nice (France)
From Madrid to Nice with Level (IB)
From Madrid to Nice with EasyJet (U2)
Average ticket price: €24 - €97
From Nice to Porto with EasyJet (U2)
Average ticket price: €33 - €133
Connection in Oslo (Norway)
From Madrid to Oslo with Ryanair (FR)
From Madrid to Oslo with Norwegian Air Shuttle (DY)
From Madrid to Oslo with Level (IB)
From Madrid to Oslo with Norwegian Air Sweden (D8)
Average ticket price: €60 - €239
From Oslo to Porto with Norwegian Air Shuttle (DY)
Average ticket price: €62 - €248
Connection in Palma Mallorca (Spain)
From Madrid to Palma Mallorca with Aerolíneas (AR)
From Madrid to Palma Mallorca with Ryanair (FR)
From Madrid to Palma Mallorca with Lauda Europe (LW)
From Madrid to Palma Mallorca with Air Europa Express (X5)
From Madrid to Palma Mallorca with Iberia Express (I2)
From Madrid to Palma Mallorca with Level (IB)
From Madrid to Palma Mallorca with Vueling (VY)
Average ticket price: €14 - €56
From Palma Mallorca to Porto with Ryanair (FR)
From Palma Mallorca to Porto with Lauda Europe (LW)
Average ticket price: €24 - €98
Connection in Paris (France)
From Madrid to Paris with Aerolíneas (AR)
From Madrid to Paris with Gol Transportes Aéreos (G3)
From Madrid to Paris with Transavia France (TO)
From Madrid to Paris with Ryanair (FR)
From Madrid to Paris with Air Europa Express (X5)
From Madrid to Paris with Iberia Express (I2)
From Madrid to Paris with Level (IB)
From Madrid to Paris with Vueling (VY)
From Madrid to Paris with EasyJet (U2)
Average ticket price: €26 - €105
From Paris to Porto with Gol Transportes Aéreos (G3)
From Paris to Porto with Transavia France (TO)
From Paris to Porto with Ryanair (FR)
From Paris to Porto with Level (IB)
From Paris to Porto with Vueling (VY)
From Paris to Porto with EasyJet (U2)
Average ticket price: €30 - €121
Connection in Pisa (Italy)
From Madrid to Pisa with Ryanair (FR)
Average ticket price: €30 - €122
From Pisa to Porto with Ryanair (FR)
From Pisa to Porto with EasyJet (U2)
Average ticket price: €40 - €158
Connection in Prague (Czech Republic)
From Madrid to Prague with Smartwings (QS)
From Madrid to Prague with Ryanair (FR)
From Madrid to Prague with Buzz (RR)
From Madrid to Prague with Iberia Express (I2)
From Madrid to Prague with Level (IB)
From Madrid to Prague with Vueling (VY)
Average ticket price: €44 - €177
From Prague to Porto with EasyJet (U2)
Average ticket price: €51 - €204
Connection in Reykjavik (Iceland)
From Madrid to Reykjavik with Play (OG)
From Madrid to Reykjavik with Iberia Express (I2)
From Madrid to Reykjavik with Level (IB)
Average ticket price: €72 - €289
From Reykjavik to Porto with Play (OG)
Average ticket price: €67 - €270
Connection in Rome (Italy)
From Madrid to Rome with Aerolíneas (AR)
From Madrid to Rome with Ryanair (FR)
From Madrid to Rome with Wizz Air Malta (W4)
From Madrid to Rome with Iberia Express (I2)
From Madrid to Rome with Level (IB)
From Madrid to Rome with Vueling (VY)
From Madrid to Rome with EasyJet (U2)
Average ticket price: €34 - €136
From Rome to Porto with Wizz Air (W6)
From Rome to Porto with Ryanair (FR)
From Rome to Porto with Wizz Air Malta (W4)
Average ticket price: €44 - €176
Connection in Sevilla (Spain)
From Madrid to Sevilla with Iberia Express (I2)
From Madrid to Sevilla with Level (IB)
From Madrid to Sevilla with Vueling (VY)
Average ticket price: €10 - €39
From Sevilla to Porto with Ryanair (FR)
Average ticket price: €12 - €48
Connection in Stockholm (Sweden)
From Madrid to Stockholm with Ryanair (FR)
From Madrid to Stockholm with Level (IB)
Average ticket price: €65 - €259
From Stockholm to Porto with Ryanair (FR)
Average ticket price: €68 - €274
Connection in Strasbourg (France)
From Madrid to Strasbourg with Level (IB)
From Madrid to Strasbourg with Vueling (VY)
Average ticket price: €32 - €128
From Strasbourg to Porto with Ryanair (FR)
Average ticket price: €38 - €153
Connection in Tangier (Morocco)
From Madrid to Tangier with Air Arabia Maroc (3O)
From Madrid to Tangier with Ryanair (FR)
From Madrid to Tangier with Level (IB)
From Madrid to Tangier with Vueling (VY)
Average ticket price: €14 - €56
From Tangier to Porto with Ryanair (FR)
Average ticket price: €16 - €65
Connection in Tenerife (Spain)
From Madrid to Tenerife with Ryanair (FR)
From Madrid to Tenerife with Air Europa Express (X5)
From Madrid to Tenerife with Iberia Express (I2)
From Madrid to Tenerife with Level (IB)
From Madrid to Tenerife with Vueling (VY)
Average ticket price: €45 - €179
From Tenerife to Porto with Ryanair (FR)
Average ticket price: €40 - €161
Connection in Toulouse (France)
From Madrid to Toulouse with Iberia Express (I2)
From Madrid to Toulouse with Level (IB)
From Madrid to Toulouse with Volotea (V7)
From Madrid to Toulouse with Vueling (VY)
From Madrid to Toulouse with EasyJet (U2)
Average ticket price: €14 - €55
From Toulouse to Porto with Ryanair (FR)
From Toulouse to Porto with EasyJet (U2)
Average ticket price: €22 - €87
Connection in Turin (Italy)
From Madrid to Turin with Ryanair (FR)
From Madrid to Turin with Level (IB)
From Madrid to Turin with Vueling (VY)
Average ticket price: €27 - €106
From Turin to Porto with Ryanair (FR)
Average ticket price: €35 - €139
Connection in Valencia (Spain)
From Madrid to Valencia with Air Europa Express (X5)
From Madrid to Valencia with Level (IB)
From Madrid to Valencia with Vueling (VY)
Average ticket price: €7 - €30
From Valencia to Porto with Ryanair (FR)
Average ticket price: €18 - €72
Connection in Vienna (Austria)
From Madrid to Vienna with Ryanair (FR)
From Madrid to Vienna with Lauda Europe (LW)
From Madrid to Vienna with Buzz (RR)
From Madrid to Vienna with Iberia Express (I2)
From Madrid to Vienna with Level (IB)
From Madrid to Vienna with Vueling (VY)
Average ticket price: €45 - €181
From Vienna to Porto with Ryanair (FR)
From Vienna to Porto with Lauda Europe (LW)
From Vienna to Porto with Buzz (RR)
Average ticket price: €53 - €211
Connection in Warsaw (Poland)
From Madrid to Warsaw with Wizz Air (W6)
From Madrid to Warsaw with Ryanair (FR)
From Madrid to Warsaw with Buzz (RR)
Average ticket price: €57 - €229
From Warsaw to Porto with Wizz Air (W6)
From Warsaw to Porto with Buzz (RR)
Average ticket price: €64 - €254
Connection in Zurich (Switzerland)
From Madrid to Zurich with Air Europa Express (X5)
From Madrid to Zurich with Iberia Express (I2)
From Madrid to Zurich with Level (IB)
From Madrid to Zurich with Vueling (VY)
Average ticket price: €31 - €125
From Zurich to Porto with EasyJet (U2)
Average ticket price: €38 - €153