| Stop | Arrival | Departure | Tracks |
|---|---|---|---|
| Saronno | 07:08 | - | |
| Saronno Sud | 07:11 | - | |
| Caronno Pertusella | 07:14 | - | |
| Cesate | 07:15 | - | |
| Garbagnate Milanese | 07:18 | - | |
| Garbagnate Parco delle Groane | 07:19 | - | |
| Bollate Nord | 07:22 | - | |
| Bollate Centro | 07:25 | - | |
| Novate Milanese | 07:28 | - | |
| Milano Quarto Oggiaro | 07:31 | - | |
| Milano Bovisa | 07:36 | - | |
| Milano Lancetti | 07:43 | 1 | |
| Milano Porta Garibaldi Sotterranea | 07:45 | 07:46 | 1 |
| Milano Repubblica | 07:47 | 07:48 | 1 |
| Milano Porta Venezia | 07:49 | 07:50 | 1 |
| Milano Dateo | 07:52 | 07:53 | 1 |
| Milano Porta Vittoria | 07:55 | 07:56 | 3 |
| Milano Rogoredo | 08:03 | 08:05 | 2 |
| San Donato Milanese | 08:09 | 08:10 | 2 |
| Borgo Lombardo | 08:12 | 08:13 | 2 |
| San Giuliano Milanese | 08:15 | 08:16 | 1 |
| Melegnano | 08:19 | 08:20 | 1 |
| San Zenone al Lambro | 08:24 | 08:25 | 1 |
| Tavazzano | 08:30 | 08:31 | 1 |
| Lodi | 08:37 | - |