Swiss Railways (SBB/CFF/FFS) operates a train from Vevey to Zermatt hourly. Tickets cost $40 - $80 and the journey takes 1 h 20 min. MGB also services this route hourly.
How to get from Vevey to Zermatt
From Vevey train to Visp then train to Zermatt. 2 h 49 min SFr 111. From Vevey train to Sion, poste/gare, line 381 bus to Les Haudères, poste, then drive to Zermatt. 4 h 16 min SFr 83. From Vevey drive to Zermatt. 1 h 55 min SFr 22.