Journey information
Overview: Barcelona to Milan flight
Flights from Barcelona to Milan depart on average 104 times per day, taking around 3h 13m. Cheap flight tickets for this journey start at £18 if you book in advance.
There are 17 flights per day. The earliest flight runs at 00:30, the last at 23:55. The fastest flight covers the 726 km distance in 1h 35m. April is the cheapest month to fly.
Distance 726 km |
Average flight duration 3h 13m |
Cheapest ticket price £18 |
Flights per day 104 |
Direct flights 17 |
Fastest flight 1h 35m |
Cheapest month to travel April |
First flight 00:30 |
Last flight 23:55 |
The cheapest and fastest flights from Barcelona to Milan
Cheapest price
£77
Average price
£342
Fastest journey
1 h 35 m
Average duration
1 h 35 m
Flights per day
124
Distance
726 km
The best way to find a cheap flight ticket from Barcelona to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Barcelona to Milan will cost around £342 if you buy it on the day, but you can find cheap flight tickets today for only £77.
Of the 124 flights that leave Barcelona for Milan every day 23 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 726 km distance in an average of 1 h 35 m but if you time it right, some flights will get you there in just 1 h 35 m .
The slowest flights will take 1 h 35 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
W46330
U23754
FR 269
FR 846
U27153
VY6334
VY6332
IB5795
IB5260
VY6336Travel Information
Compare train, coach, 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 coach with prices starting from £18. For those with little time consider booking a flight which can get you there in 3h 13m. In case you are seeking to minimise your carbon footprint the coach is your best bet as it emits only 0.7 - 1.8kg. The ticket price range depends on the travel mode: a coach costs an average of £18, and a train costs an average of £216.
Distance: 726 km
Compare flight with
Most popular Flight | Coach | Train | Ferry |
|---|---|---|---|
£166 Average Price | £47 Average Price Cheapest | £216 Average Price | £86 Average Price |
6h 13m Average total duration Fastest 3h 13m Onboard + 3h 0m Additional time* | 15h 47m Average total duration 15h 17m Onboard + 30m Additional time* | 6h 16m Average total duration 5h 46m Onboard + 30m Additional time* | 25h 5m Average total duration 24h 5m Onboard + 1h 0m Additional time* |
2.2 - 4.3kg CO2 emissions | 0.7 - 1.8kg CO2 emissions Lowest | - CO2 emissions | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular ferry company |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Barcelona to Milan flight times
The table below shows live departures for Barcelona to Milan flights for today, Saturday 28 February. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
QR138 · QR127 | 07:35 Barcelona El Prat Airport | 28h35 | 12:10 Milan Malpensa Airport | 1 change | |
QR138 · QR117 | 07:35 Barcelona El Prat Airport | 35h35 | 19:10 Milan Malpensa Airport | 1 change | |
QR138 · QR123 | 07:35 Barcelona El Prat Airport | 22h20 | 05:55 Milan Malpensa Airport | 1 change | |
LH4129+ LH1856 | 08:10 Barcelona El Prat Airport | 7h30 | 15:40 Milan Malpensa Airport | 1 change | |
AF1149 · AF1230 | 08:55 Barcelona El Prat Airport | 13h05 | 22:00 Milan Malpensa Airport | 1 change | |
LX1953+ LX1628 | 08:55 Barcelona El Prat Airport | 4h10 | 13:05 Milan Malpensa Airport | 1 change | |
AF1149 · AF1732 | 08:55 Barcelona El Prat Airport | 12h30 | 21:25 Milan Linate Airport | 1 change | |
LH1125+ LH5640 | 08:55 Barcelona El Prat Airport | 7h05 | 16:00 Milan Linate Airport | 1 change | |
AF1149 · AF1730 | 08:55 Barcelona El Prat Airport | 7h30 | 16:25 Milan Malpensa Airport | 1 change | |
AF1149 · AF1312 | 08:55 Barcelona El Prat Airport | 9h40 | 18:35 Milan Linate Airport | 1 change | |
FR 3143 | 09:00 Barcelona El Prat Airport | 1h45 | 10:45 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
BA473 · BA574 | 09:10 Barcelona El Prat Airport | 7h55 | 17:05 Milan Linate Airport | 1 change | |
KL1512 · KL1619 | 10:10 Barcelona El Prat Airport | 11h45 | 21:55 Milan Linate Airport | 1 change | |
KL1512+ KL1617 | 10:10 Barcelona El Prat Airport | 7h25 | 17:35 Milan Linate Airport | 1 change | |
KL1512+ KL1615 | 10:10 Barcelona El Prat Airport | 4h45 | 14:55 Milan Linate Airport | 1 change | |
BA475 · BA586 | 10:30 Barcelona El Prat Airport | 6h50 | 17:20 Milan Malpensa Airport | 1 change | |
BA475 · BA574 | 10:30 Barcelona El Prat Airport | 6h35 | 17:05 Milan Linate Airport | 1 change | |
VY6332 | 10:35 Barcelona El Prat Airport | 1h40 | 12:15 Milan Malpensa Airport | 0 changesdirect | |
IB5260 | 10:35 Barcelona El Prat Airport | 1h40 | 12:15 Milan Malpensa Airport | 0 changesdirect | |
AZ77 · AZ2092 | 10:40 Barcelona El Prat Airport | 6h30 | 17:10 Milan Linate Airport | 1 change | |
AZ77 · AZ2058 | 10:40 Barcelona El Prat Airport | 10h30 | 21:10 Milan Linate Airport | 1 change | |
AZ77 · AZ2130 | 10:40 Barcelona El Prat Airport | 11h30 | 22:10 Milan Linate Airport | 1 change | |
UX7706 · UX1061 | 10:50 Barcelona El Prat Airport | 5h30 | 16:20 Milan Malpensa Airport | 1 change | |
UX7706 · UX1065 | 10:50 Barcelona El Prat Airport | 21h30 | 08:20 Milan Malpensa Airport | 1 change | |
LH1811 · LH1856 | 10:55 Barcelona El Prat Airport | 4h45 | 15:40 Milan Malpensa Airport | 1 change | |
AF1349 · AF1230 | 11:15 Barcelona El Prat Airport | 10h45 | 22:00 Milan Malpensa Airport | 1 change | |
AF1349 · AF1312 | 11:15 Barcelona El Prat Airport | 7h20 | 18:35 Milan Linate Airport | 1 change | |
AF1349 · AF1730 | 11:15 Barcelona El Prat Airport | 5h10 | 16:25 Milan Malpensa Airport | 1 change | |
AF1349 · AF1732 | 11:15 Barcelona El Prat Airport | 10h10 | 21:25 Milan Linate Airport | 1 change | |
BA477 · BA574 | 11:25 Barcelona El Prat Airport | 5h40 | 17:05 Milan Linate Airport | 1 change | |
BA477 · BA586 | 11:25 Barcelona El Prat Airport | 5h55 | 17:20 Milan Malpensa Airport | 1 change | |
BA477 · BA584 | 11:25 Barcelona El Prat Airport | 7h15 | 18:40 Milan Linate Airport | 1 change | |
VY6338 | 11:30 Barcelona El Prat Airport | 1h40 | 13:10 Milan Malpensa Airport | 0 changesdirect | |
IB5266 | 11:30 Barcelona El Prat Airport | 1h40 | 13:10 Milan Malpensa Airport | 0 changesdirect | |
FR 3320 | 11:30 Barcelona El Prat Airport | 1h45 | 13:15 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
KL1514 · KL1619 | 12:00 Barcelona El Prat Airport | 9h55 | 21:55 Milan Linate Airport | 1 change | |
LH1127+ LH9490 | 12:00 Barcelona El Prat Airport | 5h10 | 17:10 Milan Linate Airport | 1 change | |
KL1514+ KL1617 | 12:00 Barcelona El Prat Airport | 5h35 | 17:35 Milan Linate Airport | 1 change | |
W46330 | 12:10 Barcelona El Prat Airport | 1h45 | 13:55 Milan Malpensa Airport | 0 changesdirect | |
IB412 · IB675 | 12:30 Barcelona El Prat Airport | 4h55 | 17:25 Milan Malpensa Airport | 1 change | |
U27153 | 12:35 Barcelona El Prat Airport | 1h40 | 14:15 Milan Malpensa Airport | 0 changesdirect | |
LH1129+ LH9490 | 12:55 Barcelona El Prat Airport | 4h15 | 17:10 Milan Linate Airport | 1 change | |
LX1955+ LX1622 | 13:55 Barcelona El Prat Airport | 3h20 | 17:15 Milan Malpensa Airport | 1 change | |
AF1649 · AF1230 | 14:05 Barcelona El Prat Airport | 7h55 | 22:00 Milan Malpensa Airport | 1 change | |
IB414 · IB665 | 14:05 Barcelona El Prat Airport | 4h35 | 18:40 Milan Linate Airport | 1 change | |
AF1649 · AF1732 | 14:05 Barcelona El Prat Airport | 7h20 | 21:25 Milan Linate Airport | 1 change | |
AF1649 · AF1312 | 14:05 Barcelona El Prat Airport | 4h30 | 18:35 Milan Linate Airport | 1 change | |
QR146 · QR123 | 14:20 Barcelona El Prat Airport | 15h35 | 05:55 Milan Malpensa Airport | 1 change | |
QR146 · QR127 | 14:20 Barcelona El Prat Airport | 21h50 | 12:10 Milan Malpensa Airport | 1 change | |
QR146 · QR117 | 14:20 Barcelona El Prat Airport | 28h50 | 19:10 Milan Malpensa Airport | 1 change | |
IB5795 | 14:30 Barcelona El Prat Airport | 1h35 | 16:05 Milan Malpensa Airport | 0 changesdirect | |
VY6334 | 14:30 Barcelona El Prat Airport | 1h35 | 16:05 Milan Malpensa Airport | 0 changesdirect | |
LH4161+ LH9514 | 14:35 Barcelona El Prat Airport | 5h10 | 19:45 Milan Malpensa Airport | 1 change | |
AF4151 · AF1732 | 14:40 Barcelona El Prat Airport | 6h45 | 21:25 Milan Linate Airport | 1 change | |
AF4151 · AF1830 | 14:40 Barcelona El Prat Airport | 19h15 | 09:55 Milan Malpensa Airport | 1 change | |
AF4151 · AF1230 | 14:40 Barcelona El Prat Airport | 7h20 | 22:00 Milan Malpensa Airport | 1 change | |
AF1130+ AF1249 | 15:00 Barcelona El Prat Airport | 19h40 | 10:40 Milan Malpensa Airport | 1 change | |
AF1830+ AF1249 | 15:00 Barcelona El Prat Airport | 18h55 | 09:55 Milan Malpensa Airport | 1 change | |
AF1230+ AF1249 | 15:00 Barcelona El Prat Airport | 7h00 | 22:00 Milan Malpensa Airport | 1 change | |
AF1732+ AF1249 | 15:00 Barcelona El Prat Airport | 6h25 | 21:25 Milan Linate Airport | 1 change | |
FR 269 | 15:50 Barcelona El Prat Airport | 1h45 | 17:35 Milan Malpensa Airport | 0 changesdirect | |
AZ79 · AZ2130 | 15:50 Barcelona El Prat Airport | 6h20 | 22:10 Milan Linate Airport | 1 change | |
AZ79 · AZ2028 | 15:50 Barcelona El Prat Airport | 16h50 | 08:40 Milan Linate Airport | 1 change | |
AZ79 · AZ2058 | 15:50 Barcelona El Prat Airport | 5h20 | 21:10 Milan Linate Airport | 1 change | |
LH1131 · LH278 | 16:10 Barcelona El Prat Airport | 5h35 | 21:45 Milan Linate Airport | 1 change | |
LH1131+ LH5638 | 16:10 Barcelona El Prat Airport | 4h50 | 21:00 Milan Malpensa Airport | 1 change | |
KL1518 · KL1619 | 16:25 Barcelona El Prat Airport | 5h30 | 21:55 Milan Linate Airport | 1 change | |
U27155 | 16:45 Barcelona El Prat Airport | 1h45 | 18:30 Milan Malpensa Airport | 0 changesdirect | |
FR 6353 | 16:55 Barcelona El Prat Airport | 1h45 | 18:40 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
IB418 · IB667 | 17:00 Barcelona El Prat Airport | 5h00 | 22:00 Milan Linate Airport | 1 change | |
AF1549 · AF1230 | 17:05 Barcelona El Prat Airport | 4h55 | 22:00 Milan Malpensa Airport | 1 change | |
AF1549 · AF1830 | 17:05 Barcelona El Prat Airport | 16h50 | 09:55 Milan Malpensa Airport | 1 change | |
AF1549 · AF1732 | 17:05 Barcelona El Prat Airport | 4h20 | 21:25 Milan Linate Airport | 1 change | |
AF1549 · AF1130 | 17:05 Barcelona El Prat Airport | 17h35 | 10:40 Milan Malpensa Airport | 1 change | |
LH1133 · LH278 | 17:30 Barcelona El Prat Airport | 4h15 | 21:45 Milan Linate Airport | 1 change | |
AF1330+ AF1049 | 19:20 Barcelona El Prat Airport | 18h35 | 13:55 Milan Malpensa Airport | 1 change | |
AF1830+ AF1049 | 19:20 Barcelona El Prat Airport | 14h35 | 09:55 Milan Malpensa Airport | 1 change | |
AF1130+ AF1049 | 19:20 Barcelona El Prat Airport | 15h20 | 10:40 Milan Malpensa Airport | 1 change | |
AF1212+ AF1049 | 19:20 Barcelona El Prat Airport | 12h25 | 07:45 Milan Linate Airport | 1 change | |
UX7708 · UX1061 | 19:30 Barcelona El Prat Airport | 20h50 | 16:20 Milan Malpensa Airport | 1 change | |
UX7708 · UX1065 | 19:30 Barcelona El Prat Airport | 12h50 | 08:20 Milan Malpensa Airport | 1 change | |
QR142 · QR117 | 21:15 Barcelona El Prat Airport | 21h55 | 19:10 Milan Malpensa Airport | 1 change | |
QR142 · QR123 | 21:15 Barcelona El Prat Airport | 32h40 | 05:55 Milan Malpensa Airport | 1 change | |
QR142 · QR127 | 21:15 Barcelona El Prat Airport | 14h55 | 12:10 Milan Malpensa Airport | 1 change | |
| Sunday 1 March | |||||
LH1139 · LH248 | 04:50 Barcelona El Prat Airport | 4h55 | 09:45 Milan Malpensa Airport | 1 change | |
LH1139+ LH6904 | 04:50 Barcelona El Prat Airport | 4h15 | 09:05 Milan Linate Airport | 1 change | |
FR 846 | 04:50 Barcelona El Prat Airport | 1h45 | 06:35 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
AF1449 · AF1830 | 05:00 Barcelona El Prat Airport | 4h55 | 09:55 Milan Malpensa Airport | 1 change | |
KL1510+ KL1597 | 05:00 Barcelona El Prat Airport | 6h00 | 11:00 Milan Linate Airport | 1 change | |
AF1449 · AF1330 | 05:00 Barcelona El Prat Airport | 8h55 | 13:55 Milan Malpensa Airport | 1 change | |
AF1449 · AF1130 | 05:00 Barcelona El Prat Airport | 5h40 | 10:40 Milan Malpensa Airport | 1 change | |
AF1449 · AF1412 | 05:00 Barcelona El Prat Airport | 5h15 | 10:15 Milan Linate Airport | 1 change | |
AF1449 · AF1012 | 05:00 Barcelona El Prat Airport | 7h55 | 12:55 Milan Linate Airport | 1 change | |
KL1510 · KL1615 | 05:00 Barcelona El Prat Airport | 9h55 | 14:55 Milan Linate Airport | 1 change | |
AF1449 · AF1730 | 05:00 Barcelona El Prat Airport | 11h25 | 16:25 Milan Malpensa Airport | 1 change | |
AF1449 · AF1630 | 05:00 Barcelona El Prat Airport | 12h50 | 17:50 Milan Malpensa Airport | 1 change | |
AZ75 · AZ2038 | 05:20 Barcelona El Prat Airport | 8h50 | 14:10 Milan Linate Airport | 1 change | |
AZ75 · AZ2058 | 05:20 Barcelona El Prat Airport | 15h50 | 21:10 Milan Linate Airport | 1 change | |
AZ75 · AZ2050 | 05:20 Barcelona El Prat Airport | 12h50 | 18:10 Milan Linate Airport | 1 change | |
AZ75 · AZ2036 | 05:20 Barcelona El Prat Airport | 6h20 | 11:40 Milan Linate Airport | 1 change | |
AZ75 · AZ2130 | 05:20 Barcelona El Prat Airport | 16h50 | 22:10 Milan Linate Airport | 1 change | |
AZ75 · AZ2056 | 05:20 Barcelona El Prat Airport | 13h50 | 19:10 Milan Linate Airport | 1 change | |
AZ75 · AZ2044 | 05:20 Barcelona El Prat Airport | 9h50 | 15:10 Milan Linate Airport | 1 change | |
BA493 · BA570 | 05:40 Barcelona El Prat Airport | 6h45 | 12:25 Milan Linate Airport | 1 change | |
BA493 · BA568 | 05:40 Barcelona El Prat Airport | 5h40 | 11:20 Milan Linate Airport | 1 change | |
LX1951+ LX1628 | 05:45 Barcelona El Prat Airport | 7h20 | 13:05 Milan Malpensa Airport | 1 change | |
LH1137+ LH5668 | 05:50 Barcelona El Prat Airport | 6h00 | 11:50 Milan Linate Airport | 1 change | |
LH1137+ LH5636 | 05:50 Barcelona El Prat Airport | 6h55 | 12:45 Milan Malpensa Airport | 1 change | |
BA8076+ BA572 | 06:30 Barcelona El Prat Airport | 7h15 | 13:45 Milan Linate Airport | 1 change | |
IB5259 | 06:40 Barcelona El Prat Airport | 1h45 | 08:25 Milan Malpensa Airport | 0 changesdirect | |
LH4165+ LH9448 | 06:40 Barcelona El Prat Airport | 4h55 | 11:35 Milan Malpensa Airport | 1 change | |
VY6330 | 06:40 Barcelona El Prat Airport | 1h45 | 08:25 Milan Malpensa Airport | 0 changesdirect | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
How far in advance should I book flight tickets from Barcelona to Milan?
Compare prices and tickets Barcelona to Milan by train, coach, flight or ferry
Compare train, coach, 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.
28 Feb
01 Mar
02 Mar
03 Mar
04 Mar
05 Mar
06 Mar
07 Mar
08 Mar
09 Mar
10 Mar
11 Mar
12 Mar
13 Mar
14 Mar
15 Mar
16 Mar
17 Mar
18 Mar
19 Mar
20 Mar
Why should you book Barcelona to Milan flights with Omio?
Why book with Omio vs Vueling Airlines?
- Compare with other providers: On Omio, you can not only buy tickets for Vueling Airlines, but also compare tickets for the likes of Ryanair, easyJet, KM Malta Airlines or GetJet Airlines to find the best option for your trip from Barcelona to Milan.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Vueling Airlines with all available travel options, which are train, bus, flight and ferry to ensure you get the best deal for traveling from Barcelona to Milan.
Why book with Omio over Edreams, Kayak or Skyscanner?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Ryanair, easyJet, KM Malta Airlines or GetJet Airlines to find the best option for your trip from Barcelona to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus, flight and ferry to find the ideal travel option from Barcelona to Milan.
Airlines: Vueling Airlines, Ryanair, easyJet, KM Malta Airlines, GetJet Airlines, Wizz Air, Stobart Air, ITA, Iberia, Air France from Barcelona to MilanFind the best flights between Barcelona to Milan with Omio's travel partners Vueling Airlines, Ryanair, easyJet, KM Malta Airlines, GetJet Airlines, Wizz Air, Stobart Air, ITA, Iberia, Air France from £18. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Air France
Vueling Airlines
Iberia
Stobart Air
easyJet
KM Malta Airlines
Ryanair
GetJet Airlines
Wizz Air
FAQs: Barcelona to Milan flights
Find answers to the most common questions about traveling from Barcelona to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

popular airports
Important Stations and Airports in Barcelona and Milan
- Free Wi-Fi available throughout the airport for an unlimited time.
- Shops are available in both terminals, including duty-free and brands like Zara and Desigual.
- Parking available with several options including long-term and short-term parking, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport, including accessible facilities.
- Yes
- Lounges available, including the Sala VIP Pau Casals in Terminal 1.
- Located in both terminals, with offices located near the baggage claim areas.
- Buses: Aerobús A1, Aerobús A2, 46, N17
- Metro: L9 Sud
- Train: R2 Nord
- Free Wi-Fi available throughout the airport.
- Shops available in both terminals, including duty-free and fashion brands like Gucci and Prada.
- Parking available at Terminal 1 and Terminal 2, approximately 2.5€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounges available in Terminal 1, including Sala Montale and Club SEA.
- Located in both terminals, near baggage claim.
- Train: Malpensa Express
- Bus: Terravision, Autostradale, Malpensa Shuttle
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
More options for your journey from Barcelona to Milan
Here are some other resources that might have the information you need


















