The station yard has eight tracks, including five through tracks equipped with platforms:
Track 1 is for direct trains to Domodossola, Geneva and Basel.

Track 2 is for direct trains to Milano Centrale, Milano Porta Garibaldi coming from Domodossola/Luino.

Track 3 is a through track used for terminating trains from Luino (via the Gallarate–Laveno railway).

Track 4 is a service track.

Track 5 is used mainly by trains on line S5 of the Milan suburban railway network, and regional trains direct to Varese.

Track 6 is used by trains on line S5 and regional trains from Varese.

Tracks 7 and 8 are used by goods trains direct to Hupac's Busto Arsizio Terminal and to Switzerland via Luino or Domodossola.

Just beyond the station, towards Milan, is a goods yard, now abandoned, and a workshop for the maintenance of rolling stock.
 The workshop has been closed for over ten years, but may eventually reopen.

Adjacent to track 1 is a State Police station, close to the Commissariat.
The station yard has eight tracks, including five through tracks equipped with platforms:
Track 1 is for direct trains to Domodossola, Geneva and Basel.
Track 2 is for direct trains to Milano Centrale, Milano Porta Garibaldi coming from Domodossola/Luino.
Track 3 is a through track used for terminating trains from Luino (via the Gallarate–Laveno railway).
Track 4 is a service track.
Track 5 is used mainly by trains on line S5 of the Milan suburban railway network, and regional trains direct to Varese.
Track 6 is used by trains on line S5 and regional trains from Varese.
Tracks 7 and 8 are used by goods trains direct to Hupac's Busto Arsizio Terminal and to Switzerland via Luino or Domodossola.
Just beyond the station, towards Milan, is a goods yard, now abandoned, and a workshop for the maintenance of rolling stock.  The workshop has been closed for over ten years, but may eventually reopen.
Adjacent to track 1 is a State Police station, close to the Commissariat.
Gallarate railway station