Capolago has a station, Capolago-Riva San Vitale, on the Gotthard line of the Swiss Federal Railways. The station is served by route S10 of the Treni Regionali Ticino Lombardia (TILO), which operate every half-hour between Bellinzona, Lugano and Chiasso, with some trains extending northwards to Airolo and southwards to Milan. The station is served also by the Monte Generoso railway, a mountain railway that climbs to the summit of the nearby Monte Generoso.