There are 9 ways to get from Milan to Porto by plane, bus, train 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 52 min

  1. MXP - OPO

$49 - $248

Cheapest option

Bus to Milan Bergamo, fly  •  5 h 50 min

  1. BGY - OPO

$37 - $278

7 alternative options

Fly from Milan Linate  •  7 h 41 min

  1. LIN - OPO

$88 - $444

Train, bus via Angouleme  •  27 h 9 min

  1. Tgv
  2. Tgv

$387 - $480

Train  •  30 h 7 min

  1. Tgv
  2. Tgv / ...
  3. A
  4. Ic

$304 - $443

Bus FlixBus  •  32 h 14 min

  1. Ouibus / ...
  2. K783

$115 - $212

Train, bus Eurolines CH  •  33 h 19 min

  1. Eurocity / ...

$178 - $233

Bus Iberocoach  •  33 h 25 min

  1. Ouibus

$114 - $150

Drive  •  18 h 47 min

  1. 1241.4 miles

$290 - $440

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

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

Airlines
Ryanair
Website
ryanair.com
Flights from Milan Malpensa to Porto
Ave. Duration
2 h 50 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 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
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
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, Tuesday and Wednesday
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
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
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 20 min
When
Monday to Saturday
Estimated price
$1,200 - $2,700
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
easyJet
Website
easyjet.com
Flights from Milan Malpensa to Porto via Paris CDG
Ave. Duration
4 h 35 min
When
Every day
Estimated price
$150 - $650
Flights from Milan Linate to Porto via London Gatwick
Ave. Duration
6 h 10 min
When
Every day
Estimated price
$120 - $600
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
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
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
Train operators
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Milano Centrale Station to Torino Porta Susa Station
Ave. Duration
50 min
Frequency
Hourly
Estimated price
$20 - $29
Website
italotreno.it
TGV
Phone
0033 892 353535
Website
tgv.com
Train from Torino Porta Susa to Paris Gare de Lyon
Ave. Duration
5 h 43 min
Frequency
4 times a day
Estimated price
$140 - $160
Website
en.oui.sncf
2nd Class
$140 - $160
1st Class
$180 - $270
Train from Paris Montparnasse to Angouleme
Ave. Duration
2 h 10 min
Frequency
Every 4 hours
Estimated price
$85 - $100
Website
en.oui.sncf
2nd Class
$85 - $100
1st Class
$120 - $170
Train from Torino Porta Susa to Chambery-Challes-E
Ave. Duration
2 h 39 min
Frequency
4 times a day
Estimated price
$40 - $50
Website
en.oui.sncf
2nd Class
$40 - $50
1st Class
$65 - $80
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 13 min
Frequency
3 times a day
Estimated price
$100 - $115
Website
en.oui.sncf
2nd Class
$100 - $115
1st Class
$120 - $200
SNCF
Phone
+33 9 70 60 99 70
Website
sncf.com
Train from Chambery-Challes-E to Valence TGV
Ave. Duration
1 h 57 min
Frequency
Hourly
Estimated price
$19 - $27
Website
en.oui.sncf
2nd Class
$19 - $27
1st Class
$28 - $45
Train from Valence TGV to Barcelona Sants
Ave. Duration
4 h 28 min
Frequency
Once daily
Estimated price
$60 - $90
Website
en.oui.sncf
Spanish Railways (RENFE)
Phone
902 320 320
Website
renfe.com
Train from Barcelona Sants to Vigo-Guixar
Ave. Duration
13 h 36 min
Frequency
4 times a week
Estimated price
$150 - $190
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
TerraVision IT
Email
customerservices@terravision.eu
Website
terravision.eu
Bus from Milan Central Station to Milan Bergamo Airport
Ave. Duration
40 min
Frequency
Every 30 minutes
Estimated price
$5 - $6
Schedules at
terravision.eu
Eurolines FR
Phone
+ 33 1 41 86 24 21
Website
eurolines.fr
Bus from Angoulême to Porto
Ave. Duration
14 h 45 min
Frequency
5 times a week
Estimated price
$120 - $170
Schedules at
eurolines.fr
Ouibus
Phone
0890715298
Website
ouibus.com
Bus from Milan to Grenoble - Bus station
Ave. Duration
6 h 5 min
Frequency
Every 10 minutes
Estimated price
$13 - $19
Website
Ouibus
Bus from Milan to Nice - Airport
Ave. Duration
4 h 30 min
Frequency
Hourly
Estimated price
$12 - $18
Website
Ouibus
FlixBus
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Milan, Milan to Grenoble
Ave. Duration
5 h 30 min
Frequency
Twice daily
Estimated price
$21 - $40
Website
flixbus.co.uk
Bus from Grenoble to Porto, Porto
Ave. Duration
24 h 50 min
Frequency
3 times a week
Estimated price
$100 - $170
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
$130 - $160
Book at
eurolines.ch
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.

Questions & Answers

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

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

The quickest way to get from Milan to Porto is to bus and fly which takes 5 h 50 min and costs 30€ - 240€.

No, there is no direct train from Milan to Porto. However, there are services departing from Milano Centrale Station 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 30 h 7 min.

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 - Campo 24 de Agosto - Enfrente ao Pingo Doce via Milan and Nice - Gare Internacionable. The journey, including transfers, takes approximately 33 h 25 min.

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