| Linie | Ab | Richtung | Gleis | Takt |
|---|---|---|---|---|
| S-Bahn | 04:59+0' | St. Gallen | 2CD | 60' |
| S-Bahn | 05:01+0' | Rapperswil SG | 2AB | 60' |
| S-Bahn | 05:05+0' | Wil SG | 3 | 30' |
| S-Bahn | 05:30+0' | Altstätten SG | 1 | 60' |
| 05:32+1' | Biberbrugg | 4 | ||
| S-Bahn | 05:35+0' | Nesslau-Neu St. Johann | 5 | 60' |
| S-Bahn | 05:35+0' | Wil SG | 3 | 30' |
| S-Bahn | 05:59+0' | St. Gallen | 2 | 60' |
| S-Bahn | 06:01+0' | Rapperswil SG | 4 | 60' |
| S-Bahn | 06:05+0' | Wil SG | 3 | 30' |
| 06:27+1' | St. Gallen | 2 | 60' | |
| S-Bahn | 06:30+0' | Altstätten SG | 1 | 60' |
| 06:32+0' | Biberbrugg | 4 | ||
| S-Bahn | 06:35+0' | Nesslau-Neu St. Johann | 5 | 60' |
| S-Bahn | 06:35 | Wil SG | 3 | 30' |
| S-Bahn | 06:59 | St. Gallen | 2 | 60' |
| S-Bahn | 07:01+0' | Rapperswil SG | 4 | 60' |
| S-Bahn | 07:05 | Wil SG | 3 | 30' |
| 07:27 | St. Gallen | 2 | 60' | |
| S-Bahn | 07:30 | Altstätten SG | 1 | 60' |
| 07:32 | Luzern | 4 | 60' | |
| S-Bahn | 07:35+0' | Nesslau-Neu St. Johann | 5 | 60' |
| S-Bahn | 07:35 | Wil SG | 3 | 30' |
| S-Bahn | 07:59 | St. Gallen | 2 | 60' |
| S-Bahn | 08:01+0' | Rapperswil SG | 4 | 60' |
| S-Bahn | 08:05 | Wil SG | 3 | 30' |
| 08:27 | St. Gallen | 2 | 60' | |
| S-Bahn | 08:30 | Altstätten SG | 1 | 60' |
| 08:32 | Luzern | 4 | 60' | |
| Mehr | ||||