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 77–109Bus via Milan
cheapest- Take the bus from Milan to Basel SBBbus FlixBus N524 / ...
7h 57mCHF 46–72Train (Trenitalia)
- Take the train from Milano Centrale to Berntrain Ec
5h 40mCHF 82–138Drive 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 20mCHF 129–308Train 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 125–279
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 45 - 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 20m.
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 26m
- When
- Every day
- Estimated price
- CHF 100–550
Flights from Milan Linate Airport to Basel via Munich
- Ave. Duration
- 5h 40m
- When
- Monday, Wednesday, Friday, and 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
- 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
- Saturday
- Estimated price
- CHF 55–330
- Website
- austrian.com
Flights from Milan Linate Airport to Basel via Vienna
- Ave. Duration
- 4h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- CHF 150–220
- 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 40–60
- 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 434+ hotels available in Porrentruy.

















