The average train between Riva San Vitale and Bern takes 3h 22m and the fastest train takes 3h 20m. There is a train service every few hours from Riva San Vitale to Bern. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Riva San Vitale and Bern. The earliest departure is at 8:08 AM in the morning, and the last departure from Riva San Vitale is at 9:08 PM which arrives into Bern at 1:02 AM. All services require a transfer at Lugano and take an average of 3h 22m. The schedules shown below are for the next available departures.


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes


3h 20m • 2 changes
Want to know about travelling from Riva San Vitale to Bern? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Riva San Vitale to Bern. However, there are services departing from Riva San Vitale station and arriving at Bern station via Zuerich Hb. The journey, including transfers, takes approximately 3h 22m.
Riva San Vitale to Bern train services, operated by Trenord, depart from Lugano station.
Riva San Vitale to Bern train services, operated by Trenord, arrive at Bern station.
Book your Riva San Vitale to Bern train tickets online with Trenord, Trenitalia EuroCity and Swiss Federal Railways (SBB CFF FFS).
The distance between Riva San Vitale and Bern is 164.5 km. The road distance is 308 km.
You can take a train from Capolago-Riva S. Vitale to Bern via Lugano, Zuerich Hb, and Zürich HB in around 3h 53m.