Rome2Rio

How to get fromMilan to Portoby plane, train, bus, train (Renfe) or car

Find Transport to Porto

See all options

There are 11 ways to get from Milan to Porto by plane, train, bus, train (Renfe), 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.

  1. Fly from Milan Linate Airport

    best
    1. Fly from Milan Linate Airport (LIN) to Francisco De Sá Carneiro Airport (OPO)planeLIN - OPO
    5h 34m
    €39–215
  2. Train, bus via Lyon

    1. Take the train from Milano Centrale to Lyon Part DieutrainFr
    2. Take the bus from Lyon - Perrache Bus Station to Porto - TIC CampanhãbusBlaBlaCar Bus
    26h 58m
    €108–422
  3. Train

    1. Take the train from Milano Centrale to Lyon Part DieutrainFr
    2. Take the train from Lyon Part Dieu to Barcelona-Santstrain
    3. Take the train from Barcelona-Sants to PorrinotrainAlv
    4. Take the train from Porrino to Porto CampanhatrainIc
    28h 1m
    €215–370
  4. Drive 1,868.1 km

    1. Drive from Milan to Portocar1,868.1 km
    19h 37m
    €287–414
  5. Bus to Il Caravaggio International Airport, fly

    1. Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
    2. Fly from Il Caravaggio International Airport (BGY) to Francisco De Sá Carneiro Airport (OPO)planeBGY - OPO
    6h 7m
    €71–300
  6. Train to Milano Malpensa Airport, fly

    1. Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
    2. Fly from Milano Malpensa Airport (MXP) to Francisco De Sá Carneiro Airport (OPO)planeMXP - OPO
    5h 58m
    €41–158
  7. Train to Turin Caselle Airport, fly

    1. Take the train from Milano Centrale to Torino Porta Susatrain
    2. Fly from Turin Caselle Airport (TRN) to Francisco De Sá Carneiro Airport (OPO)planeTRN - OPO
    6h 36m
    €74–239
  8. Train to Zurich Airport, fly

    1. Take the train from Milano Centrale to Zuerich Hbtrain
    2. Fly from Zurich Airport (ZRH) to Francisco De Sá Carneiro Airport (OPO)planeZRH - OPO
    8h 43m
    €107–285
  9. Bus via Lyon

    1. Take the bus from Milano, Autostazione Lampugnano to LyonbusN410 / ...
    2. Take the bus from Lyon - Perrache Bus Station to Porto - TIC CampanhãbusBlaBlaCar Bus
    28h
    €72–330
  10. Train, bus

    1. Take the train from Milano Centrale to MartignytrainEc
    2. Take the bus from Martigny to PortobusFlixBus N1157
    33h 34m
    €195–300
  11. Bus

    1. Take the bus from Milano, Autostazione Lampugnano to Valladolid Central Bus StationbusUnion Ivkoni - Unibus 3412
    2. Take the bus from Valladolid to Porto - Terminal Intermodal de Campanhãbus
    35h 15m
    €78–172

Milan to Porto by train and bus

Calendar12Weekly Services
Duration26h 58mAverage Duration
Ticket€108Cheapest Price
See schedules

Questions & Answers

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

easyJet and Iberia fly from Milan Linate Airport (LIN) to Francisco De Sá Carneiro Airport (OPO) 3 times a day. Alternatively, you can take a train from Milano Centrale to Porto Campanha via Lyon Part Dieu, Barcelona-Sants, and Porrino in around 28h 1m.

Airlines
Train operators
Bus operators

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.

Related travel guides

Italy Travel Guides

Read the travel guideItaly Travel Guides

More Questions & Answers