- Must visit
Pinacoteca di Brera
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
Cheapest price
£15
Average price
£21
Fastest journey
2 h 13 m
Average duration
2 h 18 m
Trains per day
84
Distance
137 km
The best way to find a cheap train ticket from Riva del Garda to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Riva del Garda to Milan will cost around £21 if you buy it on the day, but you can find cheap train tickets today for only £15.
Of the 84 trains that leave Riva del Garda for Milan every day 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 137 km distance in an average of 2 h 18 m but if you time it right, some trains will get you there in just 2 h 13 m .
The slowest trains will take 2 h 20 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.
Regionale 16663 · Regionale TRENORD 2626
Regionale 16693 · Regionale TRENORD 2642
Regionale 16679 · Regionale TRENORD 2636
Regionale 16689 · Regionale TRENORD 2640
Regionale 16673 · Regionale TRENORD 2634
Regionale TRENORD 2695+
FRECCIAROSSA 9748
FRECCIAROSSA 8525 · FRECCIAROSSA 9736
Regionale Veloce 3847+
FRECCIAROSSA 9754
Regionale Veloce 3845+
FRECCIAROSSA 9744
Regionale 3841+
FRECCIAROSSA 9728Omio recommends booking the train as it is the most popular option from Riva del Garda to Milan among Omio's users. If you are prioritising price take the train with prices starting from £14. For those with little time consider booking a train which can get you there in 2h 40m. 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 £14, and a coach costs an average of £10.
Distance: 137 km
Most popular Train | Coach |
|---|---|
£18 Average Price Cheapest | £18 Average Price |
3h 10m Average total duration Fastest 2h 40m Onboard + 30m Additional time* | 3h 26m Average total duration 2h 56m Onboard + 30m Additional time* |
0.0 - 0.1kg CO2 emissions Lowest | 0.1 - 0.3kg 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.
The table below shows live departures for Riva del Garda to Milan trains for today, Monday 3 August. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
Regionale 16673 · Regionale TRENORD 2634 | 12:54 Mori station | 3h41 | 16:35 Milan Centrale | 1 change | |
Regionale 16673+ FRECCIAROSSA 9728 | 12:54 Mori station | 2h51 | 15:45 Milan Centrale | 1 change | |
Regionale 16673 · Regionale TRENORD 2634 | 12:59 Serravalle all'Adige station | 3h36 | 16:35 Milan Centrale | 1 change | |
Regionale 16673+ FRECCIAROSSA 9728 | 12:59 Serravalle all'Adige station | 2h46 | 15:45 Milan Centrale | 1 change | |
Regionale 16610 · Regionale 3841 · Regionale TRENORD 2634 | 13:01 Mori station | 3h34 | 16:35 Milan Centrale | 2 changes | |
Regionale 16610 · Regionale 3841+ FRECCIAROSSA 9728 | 13:01 Mori station | 2h44 | 15:45 Milan Centrale | 2 changes | |
Regionale 3841 · Regionale TRENORD 2634 | 13:25 Rovereto station | 3h10 | 16:35 Milan Centrale | 1 change | |
Regionale 3841+ FRECCIAROSSA 9728 | 13:25 Rovereto station | 2h20 | 15:45 Milan Centrale | 1 change | |
Regionale 16679 · Regionale TRENORD 2636 | 13:49 Rovereto station | 3h46 | 17:35 Milan Centrale | 1 change | |
Regionale 16679 · Regionale TRENORD 2636 | 13:54 Mori station | 3h41 | 17:35 Milan Centrale | 1 change | |
Regionale 16679+ FRECCIAROSSA 9732 | 13:54 Mori station | 2h51 | 16:45 Milan Centrale | 1 change | |
Regionale 16679 · Regionale TRENORD 2636 | 13:59 Serravalle all'Adige station | 3h36 | 17:35 Milan Centrale | 1 change | |
Regionale 16679+ FRECCIAROSSA 9732 | 13:59 Serravalle all'Adige station | 2h46 | 16:45 Milan Centrale | 1 change | |
Regionale 16685+ FRECCIAROSSA 9736 | 14:54 Mori station | 3h21 | 18:15 Milan Centrale | 1 change | |
Regionale 16685 · Regionale TRENORD 2638 | 14:54 Mori station | 3h41 | 18:35 Milan Centrale | 1 change | |
Regionale 16685 · Regionale TRENORD 2638 | 14:59 Serravalle all'Adige station | 3h36 | 18:35 Milan Centrale | 1 change | |
Regionale 16685+ FRECCIAROSSA 9736 | 14:59 Serravalle all'Adige station | 3h16 | 18:15 Milan Centrale | 1 change | |
Regionale 16612 · Regionale 3843 · Regionale TRENORD 2638 | 15:01 Mori station | 3h34 | 18:35 Milan Centrale | 2 changes | |
Regionale 16612 · Regionale 3843+ FRECCIAROSSA 9736 | 15:01 Mori station | 3h14 | 18:15 Milan Centrale | 2 changes | |
Regionale 3843 · Regionale TRENORD 2638 | 15:21 Rovereto station | 3h14 | 18:35 Milan Centrale | 1 change | |
Regionale 16689 · Regionale TRENORD 2640 | 15:51 Rovereto station | 3h44 | 19:35 Milan Centrale | 1 change | |
Regionale 16689 · Regionale TRENORD 2640 | 15:56 Mori station | 3h39 | 19:35 Milan Centrale | 1 change | |
FRECCIAROSSA 8525 · FRECCIAROSSA 9736 | 15:57 Rovereto station | 2h18 | 18:15 Milan Centrale | 1 change | |
Regionale 16689 · Regionale TRENORD 2640 | 16:01 Serravalle all'Adige station | 3h34 | 19:35 Milan Centrale | 1 change | |
Regionale 16693+ FRECCIAROSSA 9744 | 16:54 Mori station | 2h51 | 19:45 Milan Centrale | 1 change | |
Regionale 16693 · Regionale TRENORD 2642 | 16:54 Mori station | 3h41 | 20:35 Milan Centrale | 1 change | |
Regionale 16693 · Regionale TRENORD 2642 | 16:59 Serravalle all'Adige station | 3h36 | 20:35 Milan Centrale | 1 change | |
Regionale 16693+ FRECCIAROSSA 9744 | 16:59 Serravalle all'Adige station | 2h46 | 19:45 Milan Centrale | 1 change | |
Regionale 16695 · Regionale Veloce 3845+ FRECCIAROSSA 9744 | 17:16 Mori station | 2h29 | 19:45 Milan Centrale | 2 changes | |
Regionale 16695 · Regionale Veloce 3845 · Regionale TRENORD 2642 | 17:16 Mori station | 3h19 | 20:35 Milan Centrale | 2 changes | |
Regionale Veloce 3845 · Regionale TRENORD 2642 | 17:25 Rovereto station | 3h10 | 20:35 Milan Centrale | 1 change | |
Regionale Veloce 3845+ FRECCIAROSSA 9744 | 17:25 Rovereto station | 2h20 | 19:45 Milan Centrale | 1 change | |
Regionale 16710 · Regionale TRENORD 2695 · Regionale TRENORD 2242 | 17:43 Mori station | 3h07 | 20:50 Milan Centrale | 2 changes | |
Regionale 16710+ FRECCIAROSSA 8529 · FRECCIAROSSA 9748 | 17:43 Mori station | 2h32 | 20:15 Milan Centrale | 2 changes | |
Regionale 16710 · Regionale TRENORD 2695 | 17:43 Mori station | 3h12 | 20:55 Milan Porta Garibaldi | 1 change | |
Regionale 16697+ FRECCIAROSSA 9750 | 17:54 Mori station | 3h01 | 20:55 Milan Porta Garibaldi | 1 change | |
Regionale 16697 · Regionale TRENORD 2644 | 17:54 Mori station | 3h41 | 21:35 Milan Centrale | 1 change | |
Regionale 16697 · Regionale TRENORD 2644 | 17:59 Serravalle all'Adige station | 3h36 | 21:35 Milan Centrale | 1 change | |
Regionale 16697+ FRECCIAROSSA 9750 | 17:59 Serravalle all'Adige station | 2h56 | 20:55 Milan Porta Garibaldi | 1 change | |
Regionale TRENORD 2695 | 18:02 Rovereto station | 2h53 | 20:55 Milan Porta Garibaldi | 0 changesdirect | |
Regionale TRENORD 2695+ FRECCIAROSSA 9748 | 18:02 Rovereto station | 2h13 | 20:15 Milan Centrale | 1 change | |
Regionale TRENORD 2695 · Regionale TRENORD 2242 | 18:02 Rovereto station | 2h48 | 20:50 Milan Centrale | 1 change | |
Regionale 16701+ FRECCIAROSSA 9754 | 18:53 Mori station | 2h52 | 21:45 Milan Centrale | 1 change | |
Regionale 16701 · Regionale TRENORD 2646 | 18:53 Mori station | 3h42 | 22:35 Milan Centrale | 1 change | |
Regionale 16701 · Regionale TRENORD 2648 | 18:53 Mori station | 4h42 | 23:35 Milan Centrale | 1 change | |
Regionale 16701+ FRECCIAROSSA 9754 | 18:58 Serravalle all'Adige station | 2h47 | 21:45 Milan Centrale | 1 change | |
Regionale 16701 · Regionale TRENORD 2646 | 18:58 Serravalle all'Adige station | 3h37 | 22:35 Milan Centrale | 1 change | |
Regionale 16716 · Regionale Veloce 3847 · Regionale TRENORD 2646 | 19:01 Mori station | 3h34 | 22:35 Milan Centrale | 2 changes | |
Regionale 16716 · Regionale Veloce 3847+ FRECCIAROSSA 9754 | 19:01 Mori station | 2h44 | 21:45 Milan Centrale | 2 changes | |
Regionale Veloce 3847 · Regionale TRENORD 2646 | 19:25 Rovereto station | 3h10 | 22:35 Milan Centrale | 1 change | |
Regionale Veloce 3847+ FRECCIAROSSA 9754 | 19:25 Rovereto station | 2h20 | 21:45 Milan Centrale | 1 change | |
Regionale 16705+ FRECCIAROSSA 9758 | 19:59 Serravalle all'Adige station | 3h16 | 23:15 Milan Centrale | 1 change | |
Regionale 16705 · Regionale TRENORD 2648 | 19:59 Serravalle all'Adige station | 3h36 | 23:35 Milan Centrale | 1 change | |
Regionale 16707 · Regionale TRENORD 2648 | 20:12 Rovereto station | 3h23 | 23:35 Milan Centrale | 1 change | |
Regionale 16707 · Regionale TRENORD 2648 | 20:16 Mori station | 3h19 | 23:35 Milan Centrale | 1 change | |
Regionale 16707+ FRECCIAROSSA 9758 | 20:16 Mori station | 2h59 | 23:15 Milan Centrale | 1 change | |
| Tuesday 4 August | |||||
Regionale Veloce 3461 · Regionale TRENORD 2608 | 5:51 Rovereto station | 2h54 | 8:45 Milan Centrale | 1 change | |
FRECCIAROSSA 8505+ Regionale TRENORD 2608 | 5:57 Rovereto station | 2h48 | 8:45 Milan Centrale | 1 change | |
Regionale 16653 · Regionale TRENORD 2620 | 6:26 Rovereto station | 3h09 | 9:35 Milan Centrale | 1 change | |
Regionale 16653 · Regionale TRENORD 2620 | 6:31 Mori station | 3h04 | 9:35 Milan Centrale | 1 change | |
Regionale 16691 · Regionale TRENORD 2622 | 6:59 Mori station | 3h36 | 10:35 Milan Centrale | 1 change | |
Regionale 16691 · Regionale TRENORD 2622 | 7:04 Serravalle all'Adige station | 3h31 | 10:35 Milan Centrale | 1 change | |
Regionale 16657 · Regionale 16031 · Regionale TRENORD 2622 | 7:16 Mori station | 3h19 | 10:35 Milan Centrale | 2 changes | |
Regionale 16031 · Regionale TRENORD 2622 | 7:21 Rovereto station | 3h14 | 10:35 Milan Centrale | 1 change | |
Regionale 16659 · Regionale TRENORD 2624 | 7:54 Mori station | 3h41 | 11:35 Milan Centrale | 1 change | |
Regionale 16659 · Regionale TRENORD 2624 | 7:59 Serravalle all'Adige station | 3h36 | 11:35 Milan Centrale | 1 change | |
Regionale 16604 · Regionale 3463 · Regionale TRENORD 2624 | 8:01 Mori station | 3h34 | 11:35 Milan Centrale | 2 changes | |
Regionale 3463 · Regionale TRENORD 2624 | 8:25 Rovereto station | 3h10 | 11:35 Milan Centrale | 1 change | |
Regionale 16663+ FRECCIAROSSA 9713 | 8:49 Rovereto station | 2h56 | 11:45 Milan Centrale | 1 change | |
Regionale 16663+ FRECCIAROSSA 9713 | 8:54 Mori station | 2h51 | 11:45 Milan Centrale | 1 change | |
Regionale 16663 · Regionale TRENORD 2626 | 8:54 Mori station | 3h41 | 12:35 Milan Centrale | 1 change | |
Regionale 16663 · Regionale TRENORD 2626 | 8:59 Serravalle all'Adige station | 3h36 | 12:35 Milan Centrale | 1 change | |
Regionale 16663+ FRECCIAROSSA 9713 | 8:59 Serravalle all'Adige station | 2h46 | 11:45 Milan Centrale | 1 change | |
Regionale 16674 · Regionale 16033 · Regionale TRENORD 2626 | 9:01 Mori station | 3h34 | 12:35 Milan Centrale | 2 changes | |
Regionale 16674+ FRECCIAROSSA 9721 | 9:01 Mori station | 2h54 | 11:55 Milan Centrale | 1 change | |
Regionale 16033 · Regionale TRENORD 2626 | 9:27 Rovereto station | 3h08 | 12:35 Milan Centrale | 1 change | |
FRECCIAROSSA 9721 | 9:34 Rovereto station | 2h21 | 11:55 Milan Centrale | 0 changesdirect | |
Regionale 16667 · Regionale TRENORD 2628 | 9:53 Rovereto station | 3h42 | 13:35 Milan Centrale | 1 change | |
Regionale 16667+ FRECCIAROSSA 9718 | 9:53 Rovereto station | 2h52 | 12:45 Milan Centrale | 1 change | |
Regionale 16667+ FRECCIAROSSA 9718 | 9:58 Mori station | 2h47 | 12:45 Milan Centrale | 1 change | |
Regionale 16667 · Regionale TRENORD 2632 | 9:58 Mori station | 5h37 | 15:35 Milan Centrale | 1 change | |
Regionale 16667 · Regionale TRENORD 2628 | 9:58 Mori station | 3h37 | 13:35 Milan Centrale | 1 change | |
Regionale 16667+ FRECCIAROSSA 9718 | 10:03 Serravalle all'Adige station | 2h42 | 12:45 Milan Centrale | 1 change | |
Regionale 16667 · Regionale TRENORD 2628 | 10:03 Serravalle all'Adige station | 3h32 | 13:35 Milan Centrale | 1 change | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare coach and train 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.
Trains from Riva del Garda to Milan run on average 76 times per day, taking around 2h 40m. Cheap train tickets for this journey start at £14 but you can travel from only £10 by coach.
There are 2 trains per day. The earliest train runs at 00:15, the last at 23:45. The fastest train covers the 137 km distance in 2h 11m.
Distance 137 km |
Average train duration 2h 40m |
Cheapest ticket price £14 |
Trains per day 76 |
Direct trains 2 |
Fastest train 2h 11m |
First train 0:15 |
Last train 23:45 |
Cheapest Month May |
Cheapest Day Sun |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Mon |
Least Busy Day Tue |
Best time to book 63 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
The museum visit centres on Leonardo’s Last Supper, one of the city’s most sought-after cultural experiences.
A science and technology museum with Leonardo galleries, transport exhibits and hands-on displays in a former monastery.
Milan’s central square is the city’s main meeting point, framed by the cathedral, museums and lively pedestrian spaces.
This redeveloped canal district is popular for waterside walks, old railings, independent shops and a lively Milan atmosphere.
A refined district of elegant streets, Liberty villas and designer shops, ideal for architecture lovers and quieter walks.
Saffron risotto cooked to a creamy texture with butter and cheese. A signature Milanese dish linked to Lombardy’s love of rich, elegant rice dishes.
Breaded veal cutlet fried in butter until crisp. One of Milan’s best-known classics, traditionally served bone-in and prized for its simple, rich flavour.
Slow-braised veal shanks, often with vegetables and wine, usually served with risotto. A historic Lombard comfort dish known for tender meat and marrow.
Refined two-Michelin-star dining by Carlo Cracco in an elegant setting inside Galleria Vittorio Emanuele II. Known for modern Italian tasting menus.
Historic Milanese restaurant famed for ossobuco and Risotto alla Milanese. Formal, old-school atmosphere with strong ties to local culinary tradition.
Traditional trattoria celebrated for classic Milanese dishes including cotoletta and cassoeula. Warm, established venue with a loyal local following.
Moderate for Italy: hotels and dining run higher than many cities, but public transport is affordable and budget eats are easy to find.
Service is often included or modest. Round up or leave €1-2 in cafés, 5-10% in restaurants for good service, and round up taxi fares.
Official public transport app
Milano Centrale -> Duomo, Milan
Find answers to the most common questions about traveling from Riva del Garda 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.

Most Riva del Garda to Milan trains use the Mori to Milano Centrale station pair, with some services arriving at Milano Porta Garibaldi. Use this guide to compare Riva del Garda and Milan train stations on this route, check city-centre transport, alongside checking practicalities like train station facilities and services.
Milano Centrale is 2 km from Milan city centre. Public transport options include:
Milano Centrale has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Ticket Office, Bike Parking, Bike Rental, Car Rental and Information Desk.
Food options include: Venchi, Panzera Coffee, Burger King, Bar Motta, Caffè Napoli, VyTA Boulangerie, Spontini, Starbucks, Dispensa Emilia, McDonald's, & many more
Free WiFi in the station. ATMs are there are ATMs in various locations around the station.
The ticket office is open Mon - Sun: 05:50 - 22:20. Information desks are located next to the ticket office on the ground floor in the shopping gallery.
Luggage storage is 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.
Available at Milano Centrale: Parking, Taxis, WC.
Available at Milano Centrale: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Milano Centrale: Station is wheelchair accessible, has elevators and the Sala Blu, Trenitalia's office of assistance for disabled travelers, is next to Platform 4.
Nearby hotels include Glam Hotel Milano, NYX MIlan, iQ Hotel Milano.
Milano Porta Garibaldi is 2 km from Milan city centre. Public transport options include:
Milano Porta Garibaldi has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Bike Parking and Bike Rental.
Food options include: Caffeteria Panni Caldi, Princi, Burgez, Bricco Café, U! Come tu mi vuoi, Autogrill, Culto
Free Wi-Fi in the station. ATMs are located in the main hall.
Available at Milano Porta Garibaldi: Parking, Taxis, WC.
Available at Milano Porta Garibaldi: Bike Parking, Bike Rental.
Accessibility facilities are available at Milano Porta Garibaldi: Accessible facilities such as ticket machines, toilets, and ramps and additional assistance as needed from 07:45 to 22:30.
Nearby hotels include Hotel NH Milano Palazzo Moscova, AC Hotel by Marriott Milano, Tocq Hotel.
Milano Lambrate is 4 km from Milan city centre. Public transport options include:
Milano Lambrate has practical services for this route, including Wifi, Lockers, Parking, Dining, ATM, Taxis, Accessibility, WC, Hotel, Lost and Found Office, Ticket Office, Bike Parking, Bike Rental, Car Rental, Information Desk and Luggage Carts.
Food options include: Ristorante Pizzeria Il Girasole, Osteria Lambrate
Free. ATMs are available in the train station.
Ticket office support is available at Milano Lambrate. Information desks are located in the main hall.
Luggage storage is available at Milano Lambrate. Lost and found is available at the station.
Available at Milano Lambrate: Parking, Taxis, WC.
Available at Milano Lambrate: Bike Parking, Bike Rental, Car Rental.
Accessibility facilities are available at Milano Lambrate: Elevators, ramps.
Nearby hotels include MEININGER Milano Lambrate, Hotel Gamma, Hotel Lugano.
Here are some other resources that might have the information you need