There are 6 ways to get from Milan to Porrentruy by bus, train (Trenitalia), car, plane, or train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Bus
best- Take the bus from Milano - Famagosta to Baselbus
4h 59mCHF 76–108Bus via Milan
cheapest- Take the bus from Milan to Basel SBBbus FlixBus N524 / ...
7h 57mCHF 45–71Train (Trenitalia)
- Take the train from Milano Centrale to Berntrain Ec
5h 40mCHF 81–136Drive 369.8 km
- Drive from Milan to Porrentruycar 369.8 km
4h 12mCHF 62–89Fly Milan Linate Airport to Basel
- Fly from Milan Linate Airport (LIN) to Basel (BSL)plane LIN - BSL
7h 25mCHF 128–307Train to Milano Malpensa Airport, fly to Zurich Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zurich Airport (ZRH)plane MXP - ZRH
- Take the train from Zürich Flughafen to Biel/Biennetrain
6h 24mCHF 119–273
Milan to Porrentruy by train (Trenitalia)
Comparing Your Travel Options
The cheapest way to get from Milan to Porrentruy is to bus via Milan which costs SFr 40 - SFr 75 and takes 7h 57m.
The fastest way to get from Milan to Porrentruy is to drive which takes 4h 12m and costs SFr 60 - SFr 90.
No, there is no direct bus from Milan to Porrentruy. However, there are services departing from Milano - Famagosta and arriving at Basel, Bahnhof SBB via Basel, Brausebad. The journey, including transfers, takes approximately 4h 59m.
No, there is no direct train from Milan to Porrentruy. However, there are services departing from Milano Centrale and arriving at Porrentruy via Bern, Biel/Bienne and Delémont. The journey, including transfers, takes approximately 5h 40m.
The distance between Milan and Porrentruy is 471 km. The road distance is 369.8 km.
The best way to get from Milan to Porrentruy without a car is to bus which takes 4h 59m and costs SFr 75 - SFr 110.
It takes approximately 4h 59m to get from Milan to Porrentruy, including transfers.
Milan to Porrentruy bus services, operated by Onebus, depart from Milano - Famagosta station.
Milan to Porrentruy train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Porrentruy is to bus which takes 4h 59m and costs SFr 75 - SFr 110. Alternatively, you can train, which costs SFr 80 - SFr 140 and takes 5h 40m, you could also fly, which costs SFr 120 - SFr 310 and takes 7h 25m.
What companies run services between Milan, Italy and Porrentruy, Switzerland?
Onebus operates a bus from Milano - Famagosta to Basel once a week. Tickets cost CHF 60–85 and the journey takes 3h 5m. Alternatively, Trenitalia EuroCity operates a train from Milano Centrale to Bern every 4 hours. Tickets cost CHF 55–100 and the journey takes 3h 16m.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Basel via Frankfurt
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- CHF 100–320
Flights from Milan Linate Airport to Basel via Munich
- Ave. Duration
- 5h 40m
- When
- Monday to Saturday
- Estimated price
- CHF 70–320
- Website
- swiss.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 1m
- When
- Every day
- Estimated price
- CHF 65–320
- Website
- austrian.com
Flights from Milan Linate Airport to Basel via Vienna
- Ave. Duration
- 5h 45m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 150–220
- Website
- ethiopianairlines.com
Flights from Milano Malpensa Airport to Zurich Airport
- Ave. Duration
- 1h 7m
- When
- Every day
- Estimated price
- CHF 90–150
- Website
- airfrance.com
Flights from Milan Linate Airport to Basel via Paris Charles de Gaulle
- Ave. Duration
- 4h
- When
- Monday, Tuesday, Wednesday, Saturday, and Sunday
- Estimated price
- CHF 55–330
- Phone
- +39 06 68475475
- [email protected]
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Bern
- Ave. Duration
- 3h 16m
- Frequency
- Every 4 hours
- Estimated price
- CHF 55–100
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 70–100
- 2nd Class
- CHF 55–75
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–5
- Website
- Trenord
Train from Zürich Flughafen to Biel/Bienne
- Ave. Duration
- 1h 25m
- Frequency
- Hourly
- Estimated price
- CHF 35–55
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from Milano - Famagosta to Basel
- Ave. Duration
- 3h 5m
- Frequency
- Once a week
- Estimated price
- CHF 60–85
- Website
- Onebus
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Milan to Basel SBB
- Ave. Duration
- 5h 5m
- Frequency
- Every 3 hours
- Estimated price
- CHF 28–45
- Website
- Flixbus
Want to know more about travelling around Switzerland
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
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Milan to Porrentruy bus services, operated by Onebus, arrive at Basel station.
Milan to Porrentruy train services, operated by Trenitalia EuroCity, arrive at Bern station.
Yes, the driving distance between Milan to Porrentruy is 370 km. It takes approximately 4h 12m to drive from Milan to Porrentruy.
Book your Milan to Porrentruy train tickets online with Omio.
There are 436+ hotels available in Porrentruy.

















