The cheapest and fastest trains from Brescia to Milan
Cheapest price
£8
Average price
£15
Fastest journey
36 m
Average duration
36 m
Trains per day
99
Distance
81 km
The best way to find a cheap train ticket from Brescia to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Brescia to Milan will cost around £15 if you buy it on the day, but you can find cheap train tickets today for only £8.
Of the 99 trains that leave Brescia for Milan every day 69 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 81 km distance in an average of 36 m but if you time it right, some trains will get you there in just 36 m .
The slowest trains will take 36 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.
S31 TRENORD 20941 · Regionale TRENORD 2632
Regionale TRENORD 2658
Regionale TRENORD 2620
Regionale TRENORD 2626
S31 TRENORD 20957 · Regionale TRENORD 2640
8992
8971
8988
8986
8978Travel Information
Compare train and coach for Brescia to Milan
Omio recommends booking the train as it is the most popular option from Brescia to Milan among Omio's users. If you are prioritising price take the train with prices starting from £7. For those with little time consider booking a train which can get you there in 56m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.0 - 0.1kg. The ticket price range depends on the travel mode: a train costs an average of £7, and a coach costs an average of £5.
Distance: 81 km
Compare train with
Most popular Train | Coach |
|---|---|
£8 Average Price Cheapest | £8 Average Price |
1h 26m Average total duration Fastest 56m Onboard + 30m Additional time* | 1h 45m Average total duration 1h 15m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.1 - 0.2kg CO2 emissions |
![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Brescia to Milan train times
The table below shows live departures for Brescia to Milan trains for today, Sunday 22 February. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
FRECCIAROSSA 9716 | 09:09 Brescia station | 0h38 | 09:47 Milan Porta Garibaldi | 0 changesdirect | |
S31 TRENORD 20925+ FRECCIAROSSA 9718 | 09:09 Brescia Borgo San Giovanni | 1h06 | 10:15 Milan Centrale | 1 change | |
S31 TRENORD 20925 · Regionale TRENORD 2624 | 09:09 Brescia Borgo San Giovanni | 1h26 | 10:35 Milan Centrale | 1 change | |
Regionale TRENORD 2624 | 09:28 Brescia station | 1h07 | 10:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9718 | 09:39 Brescia station | 0h36 | 10:15 Milan Centrale | 0 changesdirect | |
8971 | On time 09:49 Brescia station | 0h36 | 10:25 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9721 | 10:09 Brescia station | 0h36 | 10:45 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20929 · Regionale TRENORD 2626 | 10:09 Brescia Borgo San Giovanni | 1h26 | 11:35 Milan Centrale | 1 change | |
Regionale TRENORD 2626 | 10:28 Brescia station | 1h07 | 11:35 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20933 · Regionale TRENORD 2628 | 11:09 Brescia Borgo San Giovanni | 1h26 | 12:35 Milan Centrale | 1 change | |
S31 TRENORD 20933+ FRECCIAROSSA 9724 | 11:09 Brescia Borgo San Giovanni | 1h06 | 12:15 Milan Centrale | 1 change | |
Regionale TRENORD 2628 | 11:28 Brescia station | 1h07 | 12:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9724 | 11:39 Brescia station | 0h36 | 12:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10926 | 11:47 Brescia station | 1h12 | 12:59 Milano Lambrate | 0 changesdirect | |
8978 | On time 11:49 Brescia station | 0h36 | 12:25 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20937+ FRECCIAROSSA 9728 | 12:09 Brescia Borgo San Giovanni | 1h06 | 13:15 Milan Centrale | 1 change | |
S31 TRENORD 20937 · Regionale TRENORD 2630 | 12:09 Brescia Borgo San Giovanni | 1h26 | 13:35 Milan Centrale | 1 change | |
FRECCIAROSSA 9726 | 12:09 Brescia station | 0h36 | 12:45 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2630 | 12:28 Brescia station | 1h07 | 13:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9728 | 12:39 Brescia station | 0h36 | 13:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10928 | 12:47 Brescia station | 1h12 | 13:59 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 20941 · Regionale TRENORD 2632 | 13:09 Brescia Borgo San Giovanni | 1h26 | 14:35 Milan Centrale | 1 change | |
S31 TRENORD 20941+ FRECCIAROSSA 9732 | 13:09 Brescia Borgo San Giovanni | 1h06 | 14:15 Milan Centrale | 1 change | |
Regionale TRENORD 2632 | 13:28 Brescia station | 1h07 | 14:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9732 | 13:39 Brescia station | 0h36 | 14:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10930 | 13:47 Brescia station | 1h12 | 14:59 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 20945+ FRECCIAROSSA 9736 | 14:09 Brescia Borgo San Giovanni | 1h06 | 15:15 Milan Centrale | 1 change | |
FRECCIAROSSA 9729 | 14:09 Brescia station | 0h36 | 14:45 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20945 · Regionale TRENORD 2634 | 14:09 Brescia Borgo San Giovanni | 1h26 | 15:35 Milan Centrale | 1 change | |
Regionale TRENORD 2634 | 14:28 Brescia station | 1h07 | 15:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9736 | 14:39 Brescia station | 0h36 | 15:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10932 | 14:47 Brescia station | 1h12 | 15:59 Milano Lambrate | 0 changesdirect | |
8984 | On time 14:49 Brescia station | 0h36 | 15:25 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20949+ FRECCIAROSSA 9740 | 15:09 Brescia Borgo San Giovanni | 1h06 | 16:15 Milan Centrale | 1 change | |
S31 TRENORD 20949 · Regionale TRENORD 2636 | 15:09 Brescia Borgo San Giovanni | 1h26 | 16:35 Milan Centrale | 1 change | |
Regionale TRENORD 2636 | 15:28 Brescia station | 1h07 | 16:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9740 | 15:39 Brescia station | 0h36 | 16:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10934 | 15:47 Brescia station | 1h12 | 16:59 Milano Lambrate | 0 changesdirect | |
8986 | On time 15:49 Brescia station | 0h36 | 16:25 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20953 · Regionale TRENORD 2638 | 16:09 Brescia Borgo San Giovanni | 1h26 | 17:35 Milan Centrale | 1 change | |
S31 TRENORD 20953+ FRECCIAROSSA 9744 | 16:09 Brescia Borgo San Giovanni | 1h06 | 17:15 Milan Centrale | 1 change | |
Regionale TRENORD 2638 | 16:28 Brescia station | 1h07 | 17:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9744 | 16:39 Brescia station | 0h36 | 17:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10936 | 16:43 Brescia station | 1h16 | 17:59 Milano Lambrate | 0 changesdirect | |
8988 | On time 16:49 Brescia station | 0h36 | 17:25 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20957 · Regionale TRENORD 2640 | 17:09 Brescia Borgo San Giovanni | 1h26 | 18:35 Milan Centrale | 1 change | |
S31 TRENORD 20957+ FRECCIAROSSA 9748 | 17:09 Brescia Borgo San Giovanni | 1h06 | 18:15 Milan Centrale | 1 change | |
Regionale TRENORD 2680 | 17:12 Brescia station | 0h58 | 18:10 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2680 | 17:12 Brescia station | 1h13 | 18:25 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2640 | 17:28 Brescia station | 1h07 | 18:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9748 | 17:39 Brescia station | 0h36 | 18:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2682 | 18:05 Brescia station | 1h05 | 19:10 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20961 · Regionale TRENORD 2642 | 18:09 Brescia Borgo San Giovanni | 1h26 | 19:35 Milan Centrale | 1 change | |
FRECCIAROSSA 9750 | 18:09 Brescia station | 0h38 | 18:47 Milan Porta Garibaldi | 0 changesdirect | |
S31 TRENORD 20961+ FRECCIAROSSA 9752 | 18:09 Brescia Borgo San Giovanni | 1h06 | 19:15 Milan Centrale | 1 change | |
Regionale TRENORD 2642 | 18:28 Brescia station | 1h07 | 19:35 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2698 | 18:34 Brescia station | 1h21 | 19:55 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2698 | 18:34 Brescia station | 1h01 | 19:35 Milano Lambrate | 0 changesdirect | |
FRECCIAROSSA 9752 | 18:39 Brescia station | 0h36 | 19:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10940 | 18:47 Brescia station | 1h12 | 19:59 Milano Lambrate | 0 changesdirect | |
8992 | On time 18:49 Brescia station | 0h36 | 19:25 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2690 | 19:05 Brescia station | 0h59 | 20:04 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 20965 · Regionale TRENORD 2644 | 19:09 Brescia Borgo San Giovanni | 1h26 | 20:35 Milan Centrale | 1 change | |
FRECCIAROSSA 9754 | 19:09 Brescia station | 0h36 | 19:45 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2644 | 19:28 Brescia station | 1h07 | 20:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9758 | 19:39 Brescia station | 0h36 | 20:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2686 | 20:05 Brescia station | 0h57 | 21:02 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2686 | 20:05 Brescia station | 1h12 | 21:17 Milan Porta Garibaldi | 0 changesdirect | |
S31 TRENORD 20969+ FRECCIAROSSA 9762 | 20:09 Brescia Borgo San Giovanni | 1h06 | 21:15 Milan Centrale | 1 change | |
S31 TRENORD 20969 · Regionale TRENORD 2646 | 20:09 Brescia Borgo San Giovanni | 1h26 | 21:35 Milan Centrale | 1 change | |
Regionale TRENORD 2646 | 20:28 Brescia station | 1h07 | 21:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9762 | 20:39 Brescia station | 0h36 | 21:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2648 | 21:28 Brescia station | 1h07 | 22:35 Milan Centrale | 0 changesdirect | |
| Monday 23 February | |||||
Regionale TRENORD 10910 | 03:37 Brescia station | 1h22 | 04:59 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2656 | 04:52 Brescia station | 1h08 | 06:00 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10904 | 05:06 Brescia station | 1h10 | 06:16 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 20909 · Regionale TRENORD 2616 | 05:09 Brescia Borgo San Giovanni | 1h26 | 06:35 Milan Centrale | 1 change | |
S31 TRENORD 20909+ FRECCIAROSSA 9604 | 05:09 Brescia Borgo San Giovanni | 1h11 | 06:20 Milan Centrale | 1 change | |
Regionale TRENORD 2616 | 05:28 Brescia station | 1h07 | 06:35 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10914 | 05:38 Brescia station | 1h12 | 06:50 Milano Lambrate | 0 changesdirect | |
FRECCIAROSSA 9604 | 05:42 Brescia station | 0h38 | 06:20 Milan Centrale | 0 changesdirect | |
9941 | 05:47 Brescia station | 0h43 | 06:30 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2658 | 05:52 Brescia station | 1h08 | 07:00 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10906 | 06:06 Brescia station | 1h10 | 07:16 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 21913 · Regionale TRENORD 2608 | 06:21 Brescia Borgo San Giovanni | 1h14 | 07:35 Milano Lambrate | 1 change | |
Regionale TRENORD 2606 | 06:28 Brescia station | 1h07 | 07:35 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 1913 · Regionale TRENORD 2660 | 06:39 Brescia Borgo San Giovanni | 1h16 | 07:55 Milan Centrale | 1 change | |
Regionale TRENORD 2608 | 06:40 Brescia station | 1h05 | 07:45 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 2608 | 06:40 Brescia station | 0h55 | 07:35 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 10916 | 06:43 Brescia station | 1h16 | 07:59 Milano Lambrate | 0 changesdirect | |
Regionale TRENORD 2660 | 06:52 Brescia station | 1h03 | 07:55 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 1000 9702 | 07:09 Brescia station | 0h38 | 07:47 Milan Porta Garibaldi | 0 changesdirect | |
REGIONALE TRENORD 1917 · Regionale TRENORD 10918 | 07:25 Brescia Borgo San Giovanni | 1h34 | 08:59 Milano Lambrate | 1 change | |
Regionale TRENORD 2620 | 07:28 Brescia station | 1h07 | 08:35 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10918 | 07:47 Brescia station | 1h12 | 08:59 Milano Lambrate | 0 changesdirect | |
S31 TRENORD 20921+ FRECCIAROSSA 9713 | 08:09 Brescia Borgo San Giovanni | 1h06 | 09:15 Milan Centrale | 1 change | |
FRECCIAROSSA 9708 | 08:09 Brescia station | 0h36 | 08:45 Milan Centrale | 0 changesdirect | |
S31 TRENORD 20921 · Regionale TRENORD 2622 | 08:09 Brescia Borgo San Giovanni | 1h26 | 09:35 Milan Centrale | 1 change | |
Regionale TRENORD 2622 | 08:28 Brescia station | 1h07 | 09:35 Milan Centrale | 0 changesdirect | |
FRECCIAROSSA 9713 | 08:39 Brescia station | 0h36 | 09:15 Milan Centrale | 0 changesdirect | |
Regionale TRENORD 10920 | 08:47 Brescia station | 1h12 | 09:59 Milano Lambrate | 0 changesdirect | |
8974 | On time 08:49 Brescia station | 0h36 | 09:25 Milan Centrale | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Brescia to Milan by train or coach
Compare train and coach 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.
22 Feb
23 Feb
24 Feb
25 Feb
26 Feb
27 Feb
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
Why should you book Brescia to Milan trains with Omio?
Why book with Omio vs Regionale?
- Compare with other providers: On Omio, you can not only buy tickets for Regionale, but also compare tickets for the likes of Frecciarossa, Italo or Trenitalia EuroCity to find the best option for your trip from Brescia 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 Regionale with all available travel options, which are train and bus to ensure you get the best deal for traveling from Brescia to Milan.
How far in advance should I book train tickets from Brescia to Milan?
Journey information
Overview: Train from Brescia to Milan
Trains from Brescia to Milan run on average 84 times per day, taking around 56m. Cheap train tickets for this journey start at £7 but you can travel from only £5 by coach.
There are 61 trains per day. The earliest train runs at 00:04, the last at 23:58. The fastest train covers the 81 km distance in 58m.
Distance 81 km |
Average train duration 56m |
Cheapest ticket price £7 |
Trains per day 84 |
Direct trains 61 |
Fastest train 58m |
First train 00:04 |
Last train 23:58 |
Train companies: Regionale, Frecciarossa, Italo, Trenitalia EuroCity from Brescia to Milan trainsRegionale, Frecciarossa, Italo, Trenitalia EuroCity trains will get you between Brescia and Milan from £5. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Regionale
Frecciarossa
Italo
Trenitalia EuroCity
FAQs: Brescia to Milan train
Find answers to the most common questions about traveling from Brescia to Milan by train. 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 train, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Brescia and Milan
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, with access from Via Sostegno.
- Ristorante La Vineria
- Osteria Al Bianchi
- Outside the main entrance.
- Ramps.
- €1
- Hotel Igea
- Hotel Cristallo Brescia
- DoubleTree by Hilton Brescia
- Located in the main hall
- 423 places, covered
- Avis
- Europcar
- Hertz
- Located in the main hall
- Free
- Hall 1: main entrance, platforms 1-5 for regional and high-speed trains
- Hall 2: platforms 6-8 for local trains
- Hall 3: metro connections
- Metro: Line M1
- Bus: Several lines available
- Mon - Sun: 05:50 - 22:20
- Free WiFi in the station.
- Provided by KiPoint and located on the ground floor, on the side of Piazza Luigi di Savoia. It is open every day from 06:00 to 23:00.
- Venchi
- Panzera Coffee
- Burger King
- Bar Motta
- Caffè Napoli
- VyTA Boulangerie
- Spontini
- Starbucks
- Dispensa Emilia
- McDonald's
- & many more
- Station is wheelchair accessible, has elevators and the Sala Blu, Trenitalia's office of assistance for disabled travelers, is next to Platform 4.
- Glam Hotel Milano
- NYX MIlan
- iQ Hotel Milano
- Mon - Sun: 05:50 - 22:20
- Located next to the ticket office on the ground floor in the shopping gallery.
- Metro lines: M2 (green), M3 (yellow)
- Tram lines: 1
- Bus lines: 5, 9, 10, 42, 81, 87, 152, 728, N26, NM2, NM3, Air Bus, Orio Shuttle
- Train lines: FR, FB, EC, Thello, XP2, R28, IC, ICN, RV, R, Regio, Italo
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- Parking is available near the station with access from Via Rombon.
- Ristorante Pizzeria Il Girasole
- Osteria Lambrate
- Outside the main entrance.
- Elevators, ramps.
- €1
- MEININGER Milano Lambrate
- Hotel Gamma
- Hotel Lugano
- Located in the main hall
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-7 for trains to various destinations
- Hall 2: Metro connections
- Metro: Line M2
- Bus: Several lines available
- Tram: Line 19
- 6:00 AM - 8:00 PM Monday - Sunday
- Parking is available near the station, accessible from Viale Enrico Forlanini.
- Outside the main entrance.
- Elevators, ramps.
- €1
- Hotel Mistral
- Hotel Molise 2
- Hotel Del Sud
- Free
- The station is a single-level structure with two platforms serving suburban and regional trains.
- Tram: Line 27
- Bus: Several lines available including Line 73 to Linate Airport
- Train: S9 suburban line
Most popular train connections from Brescia
More options for your journey from Brescia to Milan
Here are some other resources that might have the information you need


