Lowcost flights from Milan (Italy) to Porto (Portugal), €38 - €152

Direct distance between cities: 1515 km. Average direct flight time is 2:46 hours.

Please note! Some routes are seasonal.

From Milan to Porto with Ryanair (FR)
From Milan to Porto with EasyJet (U2)
Average ticket price: €38 - €152

Connection in Agadir (Morocco)
From Milan to Agadir with Ryanair (FR)
Average ticket price: €58 - €234
From Agadir to Porto with Ryanair (FR)
Average ticket price: €30 - €120
Connection in Alicante (Spain)
From Milan to Alicante with Ryanair (FR)
Average ticket price: €28 - €112
From Alicante to Porto with Ryanair (FR)
Average ticket price: €19 - €76
Connection in Amsterdam (Netherlands)
From Milan to Amsterdam with Gol Transportes Aéreos (G3)
From Milan to Amsterdam with EasyJet (U2)
Average ticket price: €21 - €83
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 Milan to Athens with Ryanair (FR)
From Milan to Athens with Wizz Air Malta (W4)
From Milan to Athens with Volotea (V7)
From Milan to Athens with EasyJet (U2)
Average ticket price: €37 - €148
From Athens to Porto with Volotea (V7)
Average ticket price: €70 - €280
Connection in Barcelona (Spain)
From Milan to Barcelona with Ryanair (FR)
From Milan to Barcelona with Wizz Air Malta (W4)
From Milan to Barcelona with Level (IB)
From Milan to Barcelona with Vueling (VY)
From Milan to Barcelona with EasyJet (U2)
Average ticket price: €18 - €73
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 Milan to Bari with Ryanair (FR)
From Milan to Bari with Level (IB)
From Milan to Bari with EasyJet (U2)
Average ticket price: €20 - €79
From Bari to Porto with Ryanair (FR)
Average ticket price: €53 - €213
Connection in Belfast (United Kingdom)
From Milan to Belfast with Ryanair (FR)
From Milan to Belfast with Ryanair UK (RK)
Average ticket price: €37 - €148
From Belfast to Porto with Ryanair (FR)
From Belfast to Porto with Ryanair UK (RK)
Average ticket price: €38 - €151
Connection in Berlin (Germany)
From Milan to Berlin with Ryanair (FR)
From Milan to Berlin with EasyJet (U2)
Average ticket price: €21 - €84
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 Milan to Bilbao with Level (IB)
From Milan to Bilbao with Vueling (VY)
From Milan to Bilbao with EasyJet (U2)
Average ticket price: €25 - €99
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 Milan to Billund with Ryanair (FR)
Average ticket price: €29 - €114
From Billund to Porto with Ryanair (FR)
Average ticket price: €52 - €207
Connection in Birmingham (United Kingdom)
From Milan to Birmingham with Ryanair (FR)
From Milan to Birmingham with EasyJet (U2)
Average ticket price: €28 - €112
From Birmingham to Porto with Ryanair (FR)
Average ticket price: €34 - €136
Connection in Bordeaux (France)
From Milan to Bordeaux with Ryanair (FR)
From Milan to Bordeaux with EasyJet (U2)
Average ticket price: €19 - €77
From Bordeaux to Porto with Ryanair (FR)
From Bordeaux to Porto with EasyJet (U2)
Average ticket price: €19 - €77
Connection in Bremen (Germany)
From Milan to Bremen with Ryanair (FR)
Average ticket price: €21 - €85
From Bremen to Porto with Ryanair (FR)
Average ticket price: €46 - €186
Connection in Bristol (United Kingdom)
From Milan to Bristol with Ryanair (FR)
From Milan to Bristol with EasyJet (U2)
Average ticket price: €27 - €110
From Bristol to Porto with Ryanair (FR)
From Bristol to Porto with EasyJet (U2)
Average ticket price: €31 - €123
Connection in Brussels (Belgium)
From Milan to Brussels with Ryanair (FR)
From Milan to Brussels with EasyJet (U2)
Average ticket price: €17 - €70
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 Milan to Budapest with Wizz Air (W6)
From Milan to Budapest with Ryanair (FR)
From Milan to Budapest with Buzz (RR)
Average ticket price: €20 - €79
From Budapest to Porto with Ryanair (FR)
From Budapest to Porto with Buzz (RR)
Average ticket price: €57 - €230
Connection in Cagliari (Italy)
From Milan to Cagliari with Ryanair (FR)
From Milan to Cagliari with Aeroitalia (XZ)
From Milan to Cagliari with EasyJet (U2)
Average ticket price: €17 - €69
From Cagliari to Porto with Ryanair (FR)
Average ticket price: €38 - €151
Connection in Cologne (Germany)
From Milan to Cologne with Smartwings (QS)
From Milan to Cologne with Eurowings (EW)
From Milan to Cologne with Ryanair (FR)
Average ticket price: €16 - €63
From Cologne to Porto with Ryanair (FR)
Average ticket price: €40 - €162
Connection in Copenhagen (Denmark)
From Milan to Copenhagen with Thai Lion Air (SL)
From Milan to Copenhagen with Ryanair (FR)
From Milan to Copenhagen with Norwegian Air Shuttle (DY)
From Milan to Copenhagen with Norwegian Air Sweden (D8)
From Milan to Copenhagen with EasyJet (U2)
Average ticket price: €29 - €116
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 Milan to Dublin with Ryanair (FR)
Average ticket price: €36 - €142
From Dublin to Porto with Ryanair (FR)
Average ticket price: €34 - €138
Connection in Dusseldorf (Germany)
From Milan to Dusseldorf with Eurowings Europe (E6)
From Milan to Dusseldorf with Eurowings (EW)
From Milan to Dusseldorf with Ryanair (FR)
Average ticket price: €17 - €67
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 Milan to Edinburgh with Ryanair (FR)
From Milan to Edinburgh with EasyJet (U2)
From Milan to Edinburgh with Ryanair UK (RK)
Average ticket price: €36 - €145
From Edinburgh to Porto with Ryanair (FR)
Average ticket price: €42 - €169
Connection in Eindhoven (Netherlands)
From Milan to Eindhoven with Ryanair (FR)
Average ticket price: €18 - €72
From Eindhoven to Porto with Ryanair (FR)
Average ticket price: €39 - €157
Connection in Faro (Portugal)
From Milan to Faro with Ryanair (FR)
From Milan to Faro with EasyJet (U2)
Average ticket price: €43 - €171
From Faro to Porto with Ryanair (FR)
Average ticket price: €12 - €46
Connection in Frankfurt (Germany)
From Milan to Frankfurt with Ryanair (FR)
Average ticket price: €13 - €51
From Frankfurt to Porto with Ryanair (FR)
Average ticket price: €41 - €166
Connection in Glasgow (United Kingdom)
From Milan to Glasgow with Ryanair (FR)
Average ticket price: €37 - €149
From Glasgow to Porto with EasyJet (U2)
Average ticket price: €42 - €167
Connection in Hamburg (Germany)
From Milan to Hamburg with Eurowings (EW)
From Milan to Hamburg with Ryanair (FR)
From Milan to Hamburg with EasyJet (U2)
Average ticket price: €23 - €90
From Hamburg to Porto with Eurowings (EW)
From Hamburg to Porto with Ryanair (FR)
Average ticket price: €49 - €196
Connection in Ibiza (Spain)
From Milan to Ibiza with Ryanair (FR)
From Milan to Ibiza with EasyJet (U2)
Average ticket price: €24 - €98
From Ibiza to Porto with Ryanair (FR)
From Ibiza to Porto with EasyJet (U2)
Average ticket price: €22 - €89
Connection in Istanbul (Turkey)
From Milan to Istanbul with IndiGo (6E)
From Milan to Istanbul with AJet (VF)
From Milan to Istanbul with Pegasus Airlines (PC)
Average ticket price: €42 - €166
From Istanbul to Porto with IndiGo (6E)
Average ticket price: €78 - €311
Connection in Karlsruhe/Baden Baden (Germany)
From Milan to Karlsruhe/Baden Baden with Ryanair (FR)
Average ticket price: €10 - €40
From Karlsruhe/Baden Baden to Porto with Ryanair (FR)
Average ticket price: €40 - €159
Connection in Krakow (Poland)
From Milan to Krakow with Wizz Air (W6)
From Milan to Krakow with Ryanair (FR)
From Milan to Krakow with Buzz (RR)
Average ticket price: €24 - €94
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 Milan to Las Palmas with Ryanair (FR)
From Milan to Las Palmas with EasyJet (U2)
Average ticket price: €73 - €291
From Las Palmas to Porto with Ryanair (FR)
Average ticket price: €40 - €159
Connection in Leeds (United Kingdom)
From Milan to Leeds with Ryanair (FR)
Average ticket price: €30 - €120
From Leeds to Porto with Ryanair (FR)
Average ticket price: €38 - €151
Connection in Lisbon (Portugal)
From Milan to Lisbon with Ryanair (FR)
From Milan to Lisbon with EasyJet (U2)
Average ticket price: €42 - €168
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 Milan to Liverpool with Ryanair (FR)
Average ticket price: €31 - €123
From Liverpool to Porto with Ryanair (FR)
Average ticket price: €36 - €142
Connection in London (United Kingdom)
From Milan to London with Ryanair (FR)
From Milan to London with Wizz Air Malta (W4)
From Milan to London with EasyJet (U2)
From Milan to London with Ryanair UK (RK)
From Milan to London with Wizz Air UK (W9)
Average ticket price: €24 - €95
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 Milan to Luxembourg with Ryanair (FR)
From Milan to Luxembourg with EasyJet (U2)
Average ticket price: €13 - €52
From Luxembourg to Porto with Ryanair (FR)
From Luxembourg to Porto with EasyJet (U2)
Average ticket price: €37 - €149
Connection in Lyon (France)
From Milan to Lyon with EasyJet (U2)
Average ticket price: €9 - €34
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 Maastricht (Netherlands)
From Milan to Maastricht with Ryanair (FR)
Average ticket price: €16 - €65
From Maastricht to Porto with Ryanair (FR)
Average ticket price: €38 - €154
Connection in Madrid (Spain)
From Milan to Madrid with Ryanair (FR)
From Milan to Madrid with Wizz Air Malta (W4)
From Milan to Madrid with Iberia Express (I2)
From Milan to Madrid with Level (IB)
From Milan to Madrid with Vueling (VY)
From Milan to Madrid with EasyJet (U2)
Average ticket price: €30 - €119
From Madrid to Porto with Ryanair (FR)
From Madrid to Porto with Air Europa Express (X5)
From Madrid to Porto with Iberia Express (I2)
From Madrid to Porto with Level (IB)
From Madrid to Porto with EasyJet (U2)
Average ticket price: €11 - €42
Connection in Malaga (Spain)
From Milan to Malaga with Ryanair (FR)
From Milan to Malaga with Wizz Air Malta (W4)
From Milan to Malaga with EasyJet (U2)
Average ticket price: €37 - €150
From Malaga to Porto with Ryanair (FR)
Average ticket price: €15 - €61
Connection in Malta (Malta)
From Milan to Malta with Ryanair (FR)
Average ticket price: €29 - €116
From Malta to Porto with Ryanair (FR)
Average ticket price: €52 - €209
Connection in Manchester (United Kingdom)
From Milan to Manchester with Ryanair (FR)
From Milan to Manchester with EasyJet (U2)
From Milan to Manchester with Ryanair UK (RK)
Average ticket price: €30 - €121
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 Milan to Marrakech with Ryanair (FR)
From Milan to Marrakech with Wizz Air Malta (W4)
From Milan to Marrakech with EasyJet (U2)
Average ticket price: €54 - €214
From Marrakech to Porto with Ryanair (FR)
From Marrakech to Porto with EasyJet (U2)
Average ticket price: €27 - €106
Connection in Marseille (France)
From Milan to Marseille with Ryanair (FR)
Average ticket price: €10 - €39
From Marseille to Porto with Ryanair (FR)
Average ticket price: €29 - €118
Connection in Nantes (France)
From Milan to Nantes with Volotea (V7)
From Milan to Nantes with EasyJet (U2)
Average ticket price: €21 - €85
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 Milan to Naples with Ryanair (FR)
From Milan to Naples with EasyJet (U2)
Average ticket price: €16 - €66
From Naples to Porto with EasyJet (U2)
Average ticket price: €48 - €191
Connection in Oslo (Norway)
From Milan to Oslo with Ryanair (FR)
From Milan to Oslo with Norwegian Air Shuttle (DY)
From Milan to Oslo with Norwegian Air Sweden (D8)
From Milan to Oslo with EasyJet (U2)
Average ticket price: €40 - €161
From Oslo to Porto with Norwegian Air Shuttle (DY)
Average ticket price: €62 - €248
Connection in Palma Mallorca (Spain)
From Milan to Palma Mallorca with Ryanair (FR)
From Milan to Palma Mallorca with Lauda Europe (LW)
From Milan to Palma Mallorca with EasyJet (U2)
Average ticket price: €21 - €84
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 Milan to Paris with Gol Transportes Aéreos (G3)
From Milan to Paris with Transavia France (TO)
From Milan to Paris with Ryanair (FR)
From Milan to Paris with Wizz Air Malta (W4)
From Milan to Paris with Level (IB)
From Milan to Paris with Vueling (VY)
From Milan to Paris with EasyJet (U2)
Average ticket price: €16 - €64
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 Prague (Czech Republic)
From Milan to Prague with Smartwings (QS)
From Milan to Prague with Wizz Air (W6)
From Milan to Prague with Ryanair (FR)
From Milan to Prague with Wizz Air Malta (W4)
From Milan to Prague with Buzz (RR)
From Milan to Prague with EasyJet (U2)
Average ticket price: €16 - €65
From Prague to Porto with EasyJet (U2)
Average ticket price: €51 - €204
Connection in Reykjavik (Iceland)
From Milan to Reykjavik with Wizz Air Malta (W4)
From Milan to Reykjavik with EasyJet (U2)
Average ticket price: €71 - €282
From Reykjavik to Porto with Play (OG)
Average ticket price: €67 - €270
Connection in Rome (Italy)
From Milan to Rome with Flynas (XY)
From Milan to Rome with Ryanair (FR)
From Milan to Rome with Aeroitalia (XZ)
From Milan to Rome with Norse Atlantic Airways (N0)
From Milan to Rome with EasyJet (U2)
Average ticket price: €12 - €48
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 Milan to Sevilla with Ryanair (FR)
Average ticket price: €39 - €155
From Sevilla to Porto with Ryanair (FR)
Average ticket price: €12 - €48
Connection in Stockholm (Sweden)
From Milan to Stockholm with Thai Lion Air (SL)
From Milan to Stockholm with Ryanair (FR)
Average ticket price: €41 - €165
From Stockholm to Porto with Ryanair (FR)
Average ticket price: €68 - €274
Connection in Stuttgart (Germany)
From Milan to Stuttgart with Eurowings (EW)
Average ticket price: €9 - €37
From Stuttgart to Porto with Eurowings (EW)
Average ticket price: €41 - €163
Connection in Tangier (Morocco)
From Milan to Tangier with Ryanair (FR)
Average ticket price: €42 - €167
From Tangier to Porto with Ryanair (FR)
Average ticket price: €16 - €65
Connection in Tenerife (Spain)
From Milan to Tenerife with Ryanair (FR)
From Milan to Tenerife with Wizz Air Malta (W4)
From Milan to Tenerife with EasyJet (U2)
Average ticket price: €74 - €296
From Tenerife to Porto with Ryanair (FR)
Average ticket price: €40 - €161
Connection in Toulouse (France)
From Milan to Toulouse with Ryanair (FR)
From Milan to Toulouse with EasyJet (U2)
Average ticket price: €16 - €65
From Toulouse to Porto with Ryanair (FR)
From Toulouse to Porto with EasyJet (U2)
Average ticket price: €22 - €87
Connection in Valencia (Spain)
From Milan to Valencia with Ryanair (FR)
From Milan to Valencia with Wizz Air Malta (W4)
Average ticket price: €26 - €103
From Valencia to Porto with Ryanair (FR)
Average ticket price: €18 - €72
Connection in Vienna (Austria)
From Milan to Vienna with Ryanair (FR)
From Milan to Vienna with Lauda Europe (LW)
From Milan to Vienna with Buzz (RR)
Average ticket price: €16 - €63
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 Milan to Warsaw with Wizz Air (W6)
From Milan to Warsaw with Ryanair (FR)
From Milan to Warsaw with Wizz Air Malta (W4)
From Milan to Warsaw with Buzz (RR)
Average ticket price: €28 - €114
From Warsaw to Porto with Wizz Air (W6)
From Warsaw to Porto with Buzz (RR)
Average ticket price: €64 - €254
Connection in Wroclaw (Poland)
From Milan to Wroclaw with Ryanair (FR)
From Milan to Wroclaw with Buzz (RR)
Average ticket price: €21 - €85
From Wroclaw to Porto with Ryanair (FR)
From Wroclaw to Porto with Buzz (RR)
Average ticket price: €56 - €224