| Stop | Arrival | Departure | Tracks |
|---|---|---|---|
| Lodi | 08:53 | 5 | |
| Tavazzano | 08:58 | 08:59 | 2 |
| San Zenone al Lambro | 09:03 | 09:04 | 2 |
| Melegnano | 09:07 | 09:08 | 2 |
| San Giuliano Milanese | 09:12 | 09:13 | 2 |
| Borgo Lombardo | 09:15 | 09:16 | 1 |
| San Donato Milanese | 09:19 | 09:20 | 1 |
| Milano Rogoredo | 09:25 | 09:27 | 1 |
| Milano Porta Vittoria | 09:33 | 09:34 | 2 |
| Milano Dateo | 09:35 | 09:36 | 2 |
| Milano Porta Venezia | 09:37 | 09:38 | 2 |
| Milano Repubblica | 09:39 | 09:40 | 2 |
| Milano Porta Garibaldi Sotterranea | 09:42 | 09:43 | 2 |
| Milano Lancetti | 09:46 | 09:47 | 3 |
| Milano Bovisa | 09:54 | - | |
| Milano Quarto Oggiaro | 09:57 | - | |
| Novate Milanese | 10:00 | - | |
| Bollate Centro | 10:02 | - | |
| Bollate Nord | 10:04 | - | |
| Garbagnate Parco delle Groane | 10:07 | - | |
| Garbagnate Milanese | 10:09 | - | |
| Cesate | 10:11 | - | |
| Caronno Pertusella | 10:14 | - | |
| Saronno Sud | 10:17 | - | |
| Saronno | 10:22 | - |