There are 8 ways to get from Bari to Lugano by plane, train, train (Trenitalia), 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.
Fly to Milano Malpensa Airport, train
best- Fly from Bari Karol Wojtyła Airport (BRI) to Milano Malpensa Airport (MXP)plane BRI - MXP
- Take the train from Malpensa Aeroporto T1 to Luganotrain
3h 45mCHF 28–158Train via Reggio Emilia (Trenitalia)
- Take the train from Bari Centrale to Reggio Emilia Avtrain Fr
- Take the train from Reggio Emilia Av to Milano Centraletrain Fr
- Take the train from Milano Centrale to Luganotrain Ec
9h 10mCHF 131–246Bus
- Take the bus from Bari FS Park - Via Capruzzi to Milan Lampugnanobus Itabus
- Take the bus from Milano, Autostazione Lampugnano to Luganobus BlaBlaCar Bus
13h 45mCHF 50–85Drive 957.7 km
- Drive from Bari to Luganocar 957.7 km
8h 46mCHF 160–231Fly to Milan Linate Airport, train
- Fly from Bari Karol Wojtyła Airport (BRI) to Milan Linate Airport (LIN)plane BRI - LIN
- Take the train from Monza to Luganotrain
3h 56mCHF 58–170Fly to Il Caravaggio International Airport, bus, train
- Fly from Bari Karol Wojtyła Airport (BRI) to Il Caravaggio International Airport (BGY)plane BRI - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
- Take the train from Milano Centrale to Luganotrain
4h 23mCHF 39–202Train (Trenitalia)
- Take the train from Bari Centrale to Milano Centraletrain Fr
- Take the train from Milano Centrale to Luganotrain Ec
9h 34mCHF 106–243Train #2
- Take the train from Bari Centrale to Milano Centraletrain 9928
- Take the train from Milano Centrale to Luganotrain Re80
10h 31mCHF 141–224
Bari to Lugano by train (Trenitalia)
Comparing Your Travel Options
The cheapest way to get from Bari to Lugano is to bus which costs SFr 50 - SFr 85 and takes 13h 45m.
The fastest way to get from Bari to Lugano is to fly and train which takes 3h 45m and costs SFr 28 - SFr 160.
No, there is no direct bus from Bari to Lugano. However, there are services departing from Bari FS Park - Via Capruzzi and arriving at Lugano via Milano, Autostazione Lampugnano. The journey, including transfers, takes approximately 13h 45m.
No, there is no direct train from Bari to Lugano. However, there are services departing from Bari Centrale and arriving at Lugano via Reggio Emilia Av and Milano Centrale. The journey, including transfers, takes approximately 9h 10m.
The distance between Bari and Lugano is 896 km. The road distance is 957.7 km.
The best way to get from Bari to Lugano without a car is to train via Reggio Emilia which takes 9h 10m and costs SFr 130 - SFr 250.
It takes approximately 3h 45m to get from Bari to Lugano, including transfers.
Bari to Lugano bus services, operated by Itabus S.p.A., depart from Bari FS Park - Via Capruzzi station.
Bari to Lugano train services, operated by Trenitalia Frecce, depart from Bari Centrale station.
The best way to get from Bari to Lugano is to train via Reggio Emilia which takes 9h 10m and costs SFr 130 - SFr 250. Alternatively, you can bus, which costs SFr 50 - SFr 85 and takes 13h 45m.
What companies run services between Bari, Italy and Lugano, Switzerland?
You can take a train from Bari Centrale to Lugano via Reggio Emilia Av and Milano Centrale in around 9h 10m. Alternatively, you can take a bus from Bari FS Park - Via Capruzzi to Lugano via Milano, Autostazione Lampugnano in around 13h 45m.
- Website
- ryanair.com
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- CHF 21–150
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- CHF 27–180
Flights from Bari Karol Wojtyła Airport to Il Caravaggio International Airport via Tirana
- Ave. Duration
- 4h
- When
- Sunday
- Estimated price
- CHF 27–180
- Website
- ita-airways.com
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport
- Ave. Duration
- 1h 29m
- When
- Every day
- Estimated price
- CHF 50–160
Flights from Bari Karol Wojtyła Airport to Milan Linate Airport via Rome
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- CHF 50–160
- Website
- easyjet.com
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- CHF 22–140
- Website
- neosair.it
Flights from Bari Karol Wojtyła Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Thursday
- Estimated price
- CHF 100–340
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Lugano
- Ave. Duration
- 1h 35m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- Trenord
Train from Monza to Lugano
- Ave. Duration
- 1h 5m
- Frequency
- Hourly
- Estimated price
- CHF 3–5
- Website
- Trenord
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- CHF 5–7
- Website
- Trenord
- Phone
- +39 06 5210550
- Website
- Trenitalia Frecce
Train from Bari Centrale to Reggio Emilia Av
- Ave. Duration
- 6h 5m
- Frequency
- Every 2 hours
- Estimated price
- CHF 90–160
- Website
- Trenitalia Frecce
Train from Reggio Emilia Av to Milano Centrale
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- CHF 19–35
- Website
- Trenitalia Frecce
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 7h 40m
- Frequency
- Hourly
- Estimated price
- CHF 110–190
- Website
- Trenitalia Frecce
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- Trenitalia Eurocity
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 18m
- Frequency
- Hourly
- Estimated price
- CHF 21–60
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 40–60
- 2nd Class
- CHF 21–29
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 18m
- Frequency
- Hourly
- Estimated price
- CHF 21–60
- Website
- Trenitalia Eurocity
- 1st Class
- CHF 40–60
- 2nd Class
- CHF 21–29
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 9h 45m
- Frequency
- Every 3 hours
- Estimated price
- CHF 85–160
- Website
- Trenitalia Intercity
- Phone
- +39 06 8937 1892
- Website
- Italo Treno
Train from Bari Centrale to Milano Centrale
- Ave. Duration
- 8h 40m
- Frequency
- Once daily
- Estimated price
- CHF 110–190
- Website
- Italo Treno
Train from Milano Centrale to Lugano
- Ave. Duration
- 1h 15m
- Frequency
- Hourly
- Estimated price
- CHF 25–40
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +39 06 88 93 82 32
- Website
- Itabus S.p.A.
Bus from Bari FS Park - Via Capruzzi to Milan Lampugnano
- Ave. Duration
- 11h 35m
- Frequency
- Twice daily
- Estimated price
- CHF 45–80
- Website
- Itabus S.p.A.
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Milano, Autostazione Lampugnano to Lugano
- Ave. Duration
- 1h 10m
- Frequency
- 4 times a day
- Estimated price
- CHF 5–9
- Website
- BlaBlaCar Bus
- customerservices@terravision.eu
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 4–21
- Website
- TERRAVISION
- Phone
- 035.319366
- ticket@orioshuttle.com
- Website
- orioshuttle.com
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- CHF 10–13
- Schedules at
- orioshuttle.com
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
Italian Lakes: Getting around by train
Read the travel guide
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
Booking & Getting There
Bari to Lugano bus services, operated by Itabus S.p.A., arrive at Milan Lampugnano station.
Bari to Lugano train services, operated by Trenitalia Frecce, arrive at Reggio Emilia Av station.
Yes, the driving distance between Bari to Lugano is 958 km. It takes approximately 8h 46m to drive from Bari to Lugano.
Book your Bari to Lugano train tickets online with Omio.
Book your Bari to Lugano bus tickets online with Omio.
There are 6667+ hotels available in Lugano.













































