| Stop | Arrival | Departure | Tracks | 
|---|---|---|---|
| Lodi | 07:23 | 5 | |
| Tavazzano | 07:28 | 07:29 | 2 | 
| San Zenone al Lambro | 07:33 | 07:34 | 2 | 
| Melegnano | 07:37 | 07:38 | 2 | 
| San Giuliano Milanese | 07:42 | 07:43 | 2 | 
| Borgo Lombardo | 07:45 | 07:46 | 1 | 
| San Donato Milanese | 07:49 | 07:50 | 1 | 
| Milano Rogoredo | 07:55 | 07:57 | 1 | 
| Milano Dateo | 08:05 | 08:06 | 2 | 
| Milano Porta Venezia | 08:07 | 08:08 | 2 | 
| Milano Repubblica | 08:09 | 08:10 | 2 | 
| Milano Porta Garibaldi Sotterranea | 08:12 | 08:13 | 2 | 
| Milano Lancetti | 08:16 | 08:17 | 3 | 
| Milano Bovisa | 08:24 | - | |
| Milano Quarto Oggiaro | 08:27 | - | |
| Novate Milanese | 08:30 | - | |
| Bollate Centro | 08:32 | - | |
| Bollate Nord | 08:34 | - | |
| Garbagnate Parco delle Groane | 08:37 | - | |
| Garbagnate Milanese | 08:39 | - | |
| Cesate | 08:41 | - | |
| Caronno Pertusella | 08:44 | - | |
| Saronno Sud | 08:47 | - | |
| Saronno | 08:52 | - |