There are 11 ways to get from Milan to Porto by plane, train, bus or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Fly from Milan Malpensa  •  5 h 42 min

  1. Fly from Milan Malpensa (MXP) to Porto (OPO) MXP - OPO

$49 - $248

Cheapest option

Fly from Milan Bergamo  •  6 h 21 min

  1. Fly from Milan Bergamo (BGY) to Porto (OPO) BGY - OPO

$37 - $280

9 alternative options

Fly from Milan Linate  •  7 h 5 min

  1. Fly from Milan Linate (LIN) to Porto (OPO) LIN - OPO

$88 - $444

Train to Zurich, fly  •  8 h 45 min

  1. Take the train from Milano Centrale to Zuerich Hb
  2. Fly from Zurich (ZRH) to Porto (OPO) ZRH - OPO

$105 - $325

Train to Geneva, fly  •  9 h 2 min

  1. Take the train from Milano Centrale to Geneve
  2. Fly from Geneva (GVA) to Porto (OPO) GVA - OPO

$90 - $343

Train, bus via Barcelona Sants  •  25 h 7 min

  1. Take the train from Milano Centrale to Torino Porta Susa Fr
  2. Take the train from Torino Porta Susa to Chambery-Challes-E Tgv
  3. Take the train from Chambery-Challes-E to Valence TGV
  4. Take the train from Valence TGV to Barcelona Sants Tgv / ...
  5. Take the train from Barcelona Sants to Zaragoza Delicias Ave / ...
  6. Take the bus from Zaragoza to Porto, Porto

$254 - $395

Train  •  31 h 54 min

  1. Take the train from Milano Centrale to Torino Porta Susa Fr
  2. Take the train from Torino Porta Susa to Chambery-Challes-E Tgv
  3. Take the train from Chambery-Challes-E to Valence TGV
  4. Take the train from Valence TGV to Barcelona Sants Tgv / ...
  5. Take the train from Barcelona Sants to Vigo-Guixar Hot / ...
  6. Take the train from Vigo-Guixar to Porto(Campanha) Ic

$318 - $447

Train, bus Eurolines CH  •  33 h 19 min

  1. Take the train from Milano Centrale to Sion Eurocity / ...
  2. Take the bus from Sion to Porto

$186 - $230

Bus Eurolines FR  •  34 h 5 min

  1. Take the bus from Milan, Milan to Lyon, Lyon Perrache 726 / ...
  2. Take the bus from Lyon to Porto

$158 - $332

Bus Iberocoach  •  35 h 43 min

  1. Take the bus from Milano Lampugnano to Nice Aéroport Nice Côte d'Azur Gare Routière
  2. Take the bus from Nice - Gare Internacionable to Porto - Campo 24 de Agosto - Enfrente ao Pingo Doce

$137 - $182

Drive  •  18 h 47 min

  1. Drive from Milan to Porto 1241.4 miles

$290 - $440

Questions & Answers

The cheapest way to get from Milan to Porto is to fly which costs 30€ - 240€ and takes 6 h 21 min.

More details

The quickest way to get from Milan to Porto is to fly which costs 40€ - 220€ and takes 5 h 42 min.

More details

No, there is no direct bus from Milan to Porto. However, there are services departing from via orefici p.za cordusio and arriving at Porto via Milan, Milan and Lyon. The journey, including transfers, takes approximately 34 h 5 min.

More details

No, there is no direct train from Milan to Porto. However, there are services departing from Milano Centrale and arriving at Porto(Campanha) via Torino Porta Susa, Chambery-Challes-E, Valence TGV, Barcelona Sants and Vigo-Guixar. The journey, including transfers, takes approximately 31 h 54 min.

More details

The distance between Milan and Porto is 1514 km. The road distance is 1986.2 km.

Get driving directions

The best way to get from Milan to Porto without a car is to train and bus which takes 25 h 7 min and costs 210€ - 340€.

More details

It takes approximately 5 h 42 min to get from Milan to Porto, including transfers.

More details

Milan to Porto bus services, operated by FlixBus, depart from Milan, Milan station.

More details

Milan to Porto train services, operated by Trenitalia Frecce, depart from Milano Centrale station.

More details

The best way to get from Milan to Porto is to fly which takes 5 h 42 min and costs 40€ - 220€. Alternatively, you can train, which costs 270€ - 380€ and takes 31 h 54 min, you could also bus, which costs 130€ - 290€ and takes 34 h 5 min.

Mode details

Map of how to get from Milan to Porto.
Launch map view
  • Distance: 946.5 miles
  • Duration: 5 h 42 min

What companies run services between Milan, Italy and Porto, Portugal?

Ryanair, TAP Portugal and 10 other airlines fly from Milan to Porto hourly. Alternatively, you can take a train from Milan to Porto via Torino Porta Susa, Torino Porta Susa, Chambery-Challes-E, Valence TGV, Barcelona Sants, and Vigo-Guixar in around 31 h 54 min.

Airlines
TAP Portugal
Website
flytap.com
Flights from Milan Malpensa to Porto
Ave. Duration
2 h 45 min
When
Every day
Estimated price
$75 - $600
Flights from Milan Malpensa to Porto via Lisbon
Ave. Duration
4 h 53 min
When
Every day
Estimated price
$75 - $600
Flights from Zurich to Porto
Ave. Duration
2 h 36 min
When
Every day
Estimated price
$90 - $550
Flights from Zurich to Porto via Lisbon
Ave. Duration
5 h
When
Every day
Estimated price
$85 - $550
Flights from Geneva to Porto
Ave. Duration
2 h 16 min
When
Every day
Estimated price
$75 - $550
Flights from Geneva to Porto via Lisbon
Ave. Duration
4 h 31 min
When
Every day
Estimated price
$75 - $490
Ryanair
Website
ryanair.com
Flights from Milan Malpensa to Porto
Ave. Duration
2 h 35 min
When
Monday, Thursday, Friday and Sunday
Estimated price
$28 - $350
Flights from Milan Bergamo to Porto
Ave. Duration
2 h 42 min
When
Every day
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Madrid
Ave. Duration
4 h 45 min
When
Thursday
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Eindhoven
Ave. Duration
5 h 10 min
When
Monday, Wednesday, Thursday, Friday and Sunday
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Barcelona
Ave. Duration
5 h 20 min
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Faro
Ave. Duration
5 h 25 min
When
Sunday
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Palma Mallorca
Ave. Duration
5 h 40 min
When
Tuesday and Saturday
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via London Stansted
Ave. Duration
6 h 5 min
When
Every day
Estimated price
$35 - $420
Flights from Milan Bergamo to Porto via Beauvais
Ave. Duration
6 h 5 min
When
Every day
Estimated price
$35 - $420
Iberia
Website
iberia.com
Flights from Milan Malpensa to Porto via Barcelona
Ave. Duration
4 h 50 min
When
Every day
Estimated price
$100 - $550
Flights from Milan Linate to Porto via Madrid
Ave. Duration
4 h 57 min
When
Every day
Estimated price
$170 - $700
Flights from Zurich to Porto
Ave. Duration
2 h 35 min
When
Monday, Wednesday, Thursday, Friday and Sunday
Estimated price
$90 - $800
Flights from Zurich to Porto via Barcelona
Ave. Duration
4 h 35 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$90 - $800
Flights from Zurich to Porto via Madrid
Ave. Duration
5 h 15 min
When
Every day
Estimated price
$110 - $700
Flights from Geneva to Porto via Barcelona
Ave. Duration
4 h 40 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$120 - $650
Flights from Geneva to Porto via Madrid
Ave. Duration
4 h 45 min
When
Every day
Estimated price
$120 - $650
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Porto via London Gatwick
Ave. Duration
5 h 15 min
When
Every day
Estimated price
$150 - $650
Flights from Milan Linate to Porto via London Gatwick
Ave. Duration
5 h 50 min
When
Every day
Estimated price
$120 - $600
Flights from Zurich to Porto
Ave. Duration
2 h 40 min
When
Monday, Thursday and Saturday
Estimated price
$170 - $850
Flights from Geneva to Porto
Ave. Duration
2 h 14 min
When
Every day
Estimated price
$75 - $440
Swiss
Website
swiss.com
Flights from Zurich to Porto
Ave. Duration
2 h 36 min
When
Every day
Estimated price
$90 - $550
Flights from Zurich to Porto via Geneva
Ave. Duration
5 h 10 min
When
Monday, Tuesday, Thursday, Friday, Saturday and Sunday
Estimated price
$100 - $550
Flights from Geneva to Porto
Ave. Duration
2 h 17 min
When
Every day
Estimated price
$75 - $550
Flights from Geneva to Porto via Zurich
Ave. Duration
4 h 45 min
When
Friday
Estimated price
$80 - $550
Lufthansa
Website
lufthansa.com
Flights from Milan Malpensa to Porto via Frankfurt
Ave. Duration
5 h 5 min
When
Every day
Estimated price
$230 - $700
Flights from Milan Malpensa to Porto via Munich
Ave. Duration
5 h
When
Monday to Friday
Estimated price
$230 - $700
Flights from Milan Linate to Porto via Frankfurt
Ave. Duration
5 h 36 min
When
Every day
Estimated price
$270 - $900
Flights from Zurich to Porto via Frankfurt
Ave. Duration
5 h 10 min
When
Every day
Estimated price
$210 - $750
Vueling Airlines
Website
vueling.com
Flights from Milan Malpensa to Porto via Barcelona
Ave. Duration
4 h 50 min
When
Every day
Estimated price
$100 - $550
Flights from Zurich to Porto
Ave. Duration
2 h 35 min
When
Monday, Wednesday, Thursday, Friday and Sunday
Estimated price
$90 - $800
Flights from Zurich to Porto via Barcelona
Ave. Duration
4 h 35 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$90 - $800
Flights from Geneva to Porto via Barcelona
Ave. Duration
4 h 40 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$120 - $650
Alitalia
Website
alitalia.com
Flights from Milan Malpensa to Porto
Ave. Duration
2 h 45 min
When
Every day
Estimated price
$75 - $600
Flights from Milan Linate to Porto via Madrid
Ave. Duration
7 h 15 min
When
Monday to Saturday
Estimated price
$1,200 - $2,700
Air France
Website
airfrance.com
Flights from Milan Malpensa to Porto via Paris CDG
Ave. Duration
4 h 45 min
When
Tuesday, Thursday and Saturday
Estimated price
$190 - $1,100
Flights from Milan Linate to Porto via Paris CDG
Ave. Duration
5 h 55 min
When
Tuesday, Thursday and Saturday
Estimated price
$170 - $1,300
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Porto via Brussels
Ave. Duration
5 h 30 min
When
Monday to Saturday
Estimated price
$95 - $650
Flights from Geneva to Porto via Brussels
Ave. Duration
4 h 45 min
When
Every day
Estimated price
$130 - $650
Luxair
Website
luxair.lu
Flights from Milan Malpensa to Porto via Luxembourg
Ave. Duration
4 h 40 min
When
Sunday
Estimated price
$300 - $1,100
Eurowings
Website
eurowings.com
Flights from Zurich to Porto via Dusseldorf
Ave. Duration
4 h 50 min
When
Thursday
Estimated price
$200 - $1,100
Train operators
Trenitalia Eurocity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Zuerich Hb
Ave. Duration
3 h 26 min
Frequency
Every 4 hours
Estimated price
$45 - $65
Website
orario.trenitalia.com
Train from Milano Centrale to Geneve
Ave. Duration
3 h 56 min
Frequency
Every 4 hours
Estimated price
$30 - $110
Website
orario.trenitalia.com
Standard
$30 - $110
First
$80 - $170
Train from Milano Centrale to Sion
Ave. Duration
2 h 21 min
Frequency
Every 4 hours
Estimated price
$45 - $60
Website
orario.trenitalia.com
Standard
$45 - $60
First
$80 - $95
Trenitalia Frecce

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Milano Centrale to Torino Porta Susa
Ave. Duration
48 min
Frequency
Hourly
Estimated price
$21 - $35
Website
orario.trenitalia.com
TGV
Phone
0033 892 353535
Website
sncf.com
Train from Torino Porta Susa to Chambery-Challes-E
Ave. Duration
2 h 39 min
Frequency
3 times a day
Estimated price
$40 - $50
Website
en.oui.sncf
2nd Class
$40 - $50
1st Class
$65 - $85
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 13 min
Frequency
3 times a day
Estimated price
$110 - $130
Website
en.oui.sncf
2nd Class
$110 - $130
1st Class
$150 - $210
SNCF

Loosely translated as the French National Railway Corporation, the SNCF is France’s state-owned railway company. It covers the country’s extensive rail network, as well as the TGV and Thalys, France’s two high-speed railway networks. With over 14,000 trains operating daily, it is a fast and efficient way of travelling around the country. The railway network consists of about 32,000km in total, of which 1800km are high-speed lines and 14,500km are electrified.

Rome2rio's guide to SNCF
Contact Details
Phone
+33 9 70 60 99 70
Website
sncf.com
Train from Chambery-Challes-E to Valence TGV
Ave. Duration
1 h 55 min
Frequency
Hourly
Estimated price
$28 - $40
Website
en.oui.sncf
2nd Class
$28 - $40
1st Class
$35 - $60
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 28 min
Frequency
Once daily
Estimated price
$75 - $110
Website
en.oui.sncf
Spanish Railways AVE
Spanish Railways (RENFE)

Based in Madrid, Renfe is a state-owned train operator, that connects cities across Spain and neighbouring countries including Portugal, France, Germany, Switzerland, and the Netherlands. Renfe’s extensive network means most destinations offer multiple trains a day, with the most popular routes normally offering a train each hour. Locally known as AVE, the high-speed trains can reach speeds of up to 350km/h, making travel between major cities very efficient. Comfort is key in a Renfe train, with seats with footrests in all three classes of travel: Standard, Club and First. Each seat has an individual light, a pull-down table and an electrical outlet for in Club and First classes. There is free WiFi for first class passengers and for those with a + Renfe card.

Rome2rio's guide to Spanish Railways (RENFE)
Contact Details
Phone
902 320 320
Website
renfe.com
Train from Barcelona Sants to Vigo-Guixar
Ave. Duration
15 h 21 min
Frequency
Twice daily
Estimated price
$140 - $170
Website
renfe.com
Train from Vigo-Guixar to Porto(Campanha)
Ave. Duration
2 h 20 min
Frequency
3 times a day
Estimated price
$14 - $27
Website
renfe.com
Bus operators
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Zaragoza to Porto, Porto
Ave. Duration
10 h 5 min
Frequency
Once daily
Estimated price
$45 - $80
Website
flixbus.co.uk
Bus from Milan, Milan to Lyon, Lyon Perrache
Ave. Duration
6 h 45 min
Frequency
Every 3 hours
Estimated price
$26 - $45
Website
flixbus.co.uk
Eurolines CH
Phone
0041 (0) 844 257 224
Website
eurolines.ch
Bus from Sion to Porto
Ave. Duration
29 h 58 min
Frequency
3 times a week
Estimated price
$140 - $170
Book at
eurolines.ch
Eurolines FR
Phone
+ 33 1 41 86 24 21
Website
eurolines.fr
Bus from Milan to Lyon
Ave. Duration
6 h 59 min
Frequency
4 times a week
Estimated price
$55 - $100
Schedules at
eurolines.fr
Bus from Lyon to Porto
Ave. Duration
25 h
Frequency
3 times a week
Estimated price
$130 - $230
Schedules at
eurolines.fr
Iberocoach
Phone
(+351) 253 267 730
Website
iberocoach.com
Bus from Nice - Gare Internacionable to Porto - Campo 24 de Agosto - Enfrente ao Pingo Doce
Ave. Duration
27 h 14 min
Frequency
3 times a week
Estimated price
$100 - $130
Website
iberocoach.com

Want to know more about travelling around Portugal

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

More Questions & Answers

The quickest flight from Milan Malpensa Airport to Porto Airport is the direct flight which takes 2 h 35 min.

Search flights

Milan to Porto bus services, operated by Eurolines FR, arrive at Porto station.

More details

Porto is 1 h behind Milan. It is currently 12:08 PM in Milan and 11:08 AM in Porto.

Milan to Porto train services, operated by Spanish Railways (RENFE), arrive at Porto(Campanha) station.

More details

Yes, the driving distance between Milan to Porto is 1986 km. It takes approximately 18 h 47 min to drive from Milan to Porto.

Get driving directions

Ryanair, Luxair, Air France and four other airlines offer flights from Milan Malpensa Airport to Porto Airport.

Search flights

There are 3625+ hotels available in Porto. Prices start at $63 USD per night.

More details

The best way to get from Milan to Milan Malpensa Airport is to train which takes 37 min and costs 10€ - 14€.

More details