Travel Information
Compare train, bus, flight, and ferry for Barcelona to Milan
Omio recommends booking the flight as it is the most popular option from Barcelona to Milan among Omio's users. If you are prioritising price, take the bus, with an average ticket price of €78 For those with little time, consider booking a flight, which has an average total journey time of 5h 57m. If you are seeking to minimise your carbon footprint, the bus is your best option, with estimated CO2 emissions of 0.7 - 1.8kg. Average ticket prices depend on the travel mode: a bus costs an average of €78, while a flight costs an average of €386.
Distance: 726 km
Compare flight with
Most popular Flight | Bus | Train | Ferry | Driving |
|---|---|---|---|---|
€386 Average price | €78 Average price Cheapest | €82 Average price | €89 Average price | €24 Average price (fuel + tolls) |
5h 57m Average total duration Fastest 3h 57m Onboard + 2h 0m Additional time* | 15h 40m Average total duration 15h 10m Onboard + 30m Additional time* | 10h 20m Average total duration 9h 50m Onboard + 30m Additional time* | 24h 27m Average total duration 23h 27m Onboard + 1h 0m Additional time* | 10h 20m Average total duration (door-to-door) |
2.2 - 4.3kg CO2 emissions | 0.7 - 1.8kg CO2 emissions Lowest | - CO2 emissions | - CO2 emissions | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular ferry company | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Compare ways to travel from Barcelona to Milan
Compare the available ways to get from Barcelona to Milan, with the key details around price, speed, convenience, and direct service.
This is compared to other travel options from Barcelona to Milan:
A bus is €4 less than a train for this route with tickets for a train from Barcelona to Milan costing on average €82.
A bus is €12 less than a ferry for this route with tickets for a ferry from Barcelona to Milan costing on average €89.
A bus is €309 less than a flight for this route with tickets for a flight from Barcelona to Milan costing on average €386.
Other travel options to Milan take longer:
Train takes on average 10h 20m.
Bus takes on average 15h 40m.
Ferry takes on average 24h 27m.
Travel optionsfrom Barcelona to Milan
How to get from Barcelona to Milan by train, bus or flight.
Our recommendation
The best way to travel from Barcelona to Milan is by taking a bus because it’s the best combination of price and speed.
93130 · 475111:00 AM 19h00 Barcelona, Estació d'Autobusos Nord 6:00 AM Milano, Autostazione Lampugnano €41 1 One-way 1 transfer
Cheapest
93130 · 475111:00 AM 19h00 Barcelona, Estació d'Autobusos Nord 6:00 AM Milano, Autostazione Lampugnano €41 1 One-way 1 transfer
Fastest
VY60462:55 PM 1h35 Barcelona El Prat Airport 4:30 PM Milan Malpensa Airport €52 1 One-way 0 transfers
Other options
09737+
FRECCIAROSSA 1000 92878:14 AM 13h53 Barcelona Sants 10:07 PM Milan Centrale €174 1 One-way 1 transfer
FlixBus6:20 PM 15h20 Barcelona, Estació d'Autobusos Nord 9:40 AM Milano, Autostazione Lampugnano €60 1 One-way 0 transfers
47324:00 PM 14h55 Barcelona, Estació d'Autobusos Nord 6:55 AM Milano, Autostazione Lampugnano €65 1 One-way 0 transfers
FlixBus · FlixBus7:30 PM 15h40 Barcelona, Estación de Autobuses de Sants 11:10 AM Milano, Autostazione Lampugnano €66 1 One-way 1 transfer
VY60548:00 PM 1h40 Barcelona El Prat Airport 9:40 PM Milan Malpensa Airport €52 1 One-way 0 transfers
VY604412:40 PM 1h40 Barcelona El Prat Airport 2:20 PM Milan Malpensa Airport €56 1 One-way 0 transfers
U271537:15 PM 1h45 Barcelona El Prat Airport 9:00 PM Milan Malpensa Airport €73 1 One-way 0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, flight, and ferry prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Barcelona to Milan
Travel to Milan easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Barcelona to Milan.

This is compared to other travel options from Barcelona to Milan:
A bus is €4 less than a train for this route with tickets for a train from Barcelona to Milan costing on average €82.
A bus is €12 less than a ferry for this route with tickets for a ferry from Barcelona to Milan costing on average €89.
A bus is €309 less than a flight for this route with tickets for a flight from Barcelona to Milan costing on average €386.
Other travel options to Milan take longer:
Train takes on average 10h 20m.
Bus takes on average 15h 40m.
Ferry takes on average 24h 27m.
- Around 104 flights per day.
- Around 21 buses per day.
- Around 1 trains per day.
- Around 1 ferries per day.
However, we recommend checking specific travel dates for your route between Barcelona and Milan as scheduled services by train, bus, flight, and ferry can vary by season or day of the week.
- Flights mostly depart from Barcelona El Prat Airport and arrive in Milan Malpensa Airport.
- Trains mostly depart from Barcelona Sants and arrive in Milan Centrale.
- Buses mostly depart from Barcelona, Estació d'Autobusos Nord and arrive in Milano, Autostazione Lampugnano.
- Ferries mostly depart from Port of Barcelona and arrive in Port of Genoa.
- Travel with Air France, ITA, Vueling, Lufthansa, KLM, Qatar Airways, British Airways, Iberia, Air Europa, Swiss, Ryanair, easyJet, Lufthansa City Airlines, Turkish Airlines, Brussels Airlines, Malta Air, Austrian Airlines, Eurowings, Air Baltic, Transavia France, BA Cityflyer, Amelia, asl airlines, Avion Express Malta, Helvetic Airways, Bulgaria Air, Lufthansa Cityline, GetJet Airlines, Edelweiss Air, Norwegian Air Shuttle, KLM Cityhopper, Air Serbia, Smartwings to go to Milan by flight.
- Travel with FlixBus, BlaBlaCar Bus, Alsa, Itabus, Union Ivkoni International, Infobus to go to Milan by bus.
- Travel with AVE, Trenitalia to go to Milan by train.
- Travel with Gnv to go to Milan by ferry.
- 19 direct flights per day with Vueling, Ryanair, easyJet, Malta Air.
- 5 direct buses per day with FlixBus, BlaBlaCar Bus, Alsa, Itabus, Union Ivkoni International, Infobus.
- 1 direct ferries per day with Gnv.
Travelling from Barcelona to Milan: related information
Here are some other resources that might have the information you need


