There are 3 ways to get from Canton of St. Gallen to Bern by train, bus or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train  •  2 h 3 min

  1. 1

$65 - $120

Cheapest option

Bus, train  •  2 h 15 min

  1. Rj
  2. 1 / ...

$43 - $79

1 alternative option

Drive  •  2 h 5 min

  1. 127.2 miles

$26 - $40

What companies run services between Canton of St. Gallen, Switzerland and Bern, Switzerland?

Swiss Railways (SBB/CFF/FFS) operates a train from Sankt Gallen to Bern hourly. Tickets cost $65 - $120 and the journey takes 2 h 3 min.

Train operators
Swiss Railways (SBB/CFF/FFS)
Train from St. Gallen to Bern
Ave. Duration
2 h 3 min
Estimated price
$65 - $120
Schedules at
Train from Zürich HB to Bern
Ave. Duration
56 min
Every 30 minutes
Estimated price
$40 - $75
Schedules at
Bus operators
+420 542 42 42 42
Bus from St.Gallen, Lagerstrasse to Curych, Carparkplatz Sihlquai
Ave. Duration
1 h
5 times a week
Estimated price
$3 - $5
Schedules at

Want to know more about travelling around Switzerland

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Questions & Answers

The distance between Canton of St. Gallen and Bern is 145 km. The road distance is 204 km.

The cheapest way to get from Canton of St. Gallen to Bern is to drive which costs SFr 26 - SFr 40 and takes 2 h 5 min.

The quickest way to get from Canton of St. Gallen to Bern is to train which takes 2 h 3 min and costs SFr 65 - SFr 120.

Yes, there is a direct train departing from St. Gallen and arriving at Bern. Services depart hourly, and operate every day. The journey takes approximately 2 h 3 min.

The train from St. Gallen to Bern takes 2 h 3 min including transfers and departs hourly.