Swiss Railways (SBB/CFF/FFS) operates a train from Zürich to Silvaplana hourly. Tickets cost $40 - $75 and the journey takes 1 h 15 min. 2 other operators also service this route.
How to get from Zürich to Silvaplana
From Zürich HB train to Chur, Postautostation then bus to Silvaplana, Post. 4 h 21 min SFr 109. From Zürich HB train to Chur, train to St. Moritz, Bahnhof, then line 1 bus to Silvaplana, Kreisel Mitte. 4 h 31 min SFr 117. From Zürich drive to Silvaplana. 2 h 23 min SFr 31.