| Stop | Arrival | Departure | Tracks |
|---|---|---|---|
| Saronno | 06:38 | - | |
| Saronno Sud | 06:41 | - | |
| Caronno Pertusella | 06:44 | - | |
| Cesate | 06:45 | - | |
| Garbagnate Milanese | 06:48 | - | |
| Garbagnate Parco delle Groane | 06:49 | - | |
| Bollate Nord | 06:52 | - | |
| Bollate Centro | 06:55 | - | |
| Novate Milanese | 06:58 | - | |
| Milano Quarto Oggiaro | 07:01 | - | |
| Milano Bovisa | 07:06 | - | |
| Milano Lancetti | 07:13 | 1 | |
| Milano Porta Garibaldi Sotterranea | 07:15 | 07:16 | 1 |
| Milano Repubblica | 07:17 | 07:18 | 1 |
| Milano Porta Venezia | 07:19 | 07:20 | 1 |
| Milano Porta Vittoria | 07:25 | 07:26 | 3 |
| Milano Rogoredo | 07:33 | 07:35 | 2 |
| San Donato Milanese | 07:39 | 07:40 | 2 |
| Borgo Lombardo | 07:42 | 07:43 | 2 |
| San Giuliano Milanese | 07:45 | 07:46 | 1 |
| Melegnano | 07:49 | 07:50 | 1 |
| San Zenone al Lambro | 07:54 | 07:55 | 1 |
| Tavazzano | 08:00 | 08:01 | 1 |
| Lodi | 08:07 | - |