| Stop | Arrival | Departure | Tracks |
|---|---|---|---|
| Lodi | 10:23 | 5 | |
| Tavazzano | 10:28 | 10:29 | 2 |
| San Zenone al Lambro | 10:33 | 10:34 | 2 |
| Melegnano | 10:37 | 10:38 | 2 |
| San Giuliano Milanese | 10:42 | 10:43 | 2 |
| Borgo Lombardo | 10:45 | 10:46 | 1 |
| San Donato Milanese | 10:49 | 10:50 | 1 |
| Milano Rogoredo | 10:55 | 10:57 | 1 |
| Milano Porta Vittoria | 11:03 | 11:04 | 2 |
| Milano Dateo | 11:05 | 11:06 | 2 |
| Milano Porta Venezia | 11:07 | 11:08 | 2 |
| Milano Repubblica | 11:09 | 11:10 | 2 |
| Milano Porta Garibaldi Sotterranea | 11:12 | 11:13 | 2 |
| Milano Lancetti | 11:16 | 11:17 | 3 |
| Valenza | 17:01 | 2 | |
| Torreberetti | 17:06 | 17:07 | 3 |
| Sartirana | 17:12 | 17:13 | 1 I |
| Valle Lomellina | 17:16 | 17:17 | 1 |
| Olevano | 17:22 | 17:23 | 2 II |
| Mortara | 17:27 | 17:28 | 5 |
| Albonese | 17:32 | 17:33 | 1 II |
| Borgo Lavezzaro | 17:36 | 17:37 | 1 |
| Vespolate | 17:40 | 17:41 | 1 |
| Garbagna | 17:44 | 17:45 | 2 II |
| Milano Bovisa | 11:24 | - | |
| Milano Quarto Oggiaro | 11:27 | - | |
| Novate Milanese | 11:30 | - | |
| Bollate Centro | 11:32 | - | |
| Bollate Nord | 11:34 | - | |
| Garbagnate Parco delle Groane | 11:37 | - | |
| Garbagnate Milanese | 11:39 | - | |
| Cesate | 11:41 | - | |
| Caronno Pertusella | 11:44 | - | |
| Saronno Sud | 11:47 | - | |
| Saronno | 11:52 | - | |
| NOVARA | 17:52 | - |