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

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

Please note! Some routes are seasonal.

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

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