Guaranteed train in the event of a strike on weekdays only The actual arrival and departure times in the individual stations and the guaranteed route may be different from what is indicated
| 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 Porta Vittoria | 08:03 | 08:04 | 2 |
| Milano Dateo | 08:06 | 08:07 | 2 |
| Milano Porta Venezia | 08:09 | 08:10 | 2 |
| Milano Repubblica | 08:11 | 08:12 | 2 |
| Milano Porta Garibaldi Sotterranea | 08:14 | 08:15 | 2 |
| Milano Lancetti | 08:17 | 08:18 | 3 |
| Albairate Vermezzo | 09:38 | 2 | |
| Gaggiano | 09:43 | 09:44 | 2 |
| Trezzano sul Naviglio | 09:47 | 09:48 | 2 |
| Cesano Boscone | 09:51 | 09:52 | 2 |
| Corsico | 09:54 | 09:55 | 2 |
| Milano San Cristoforo | 10:00 | 10:01 | 2 |
| Milano Romolo | 10:05 | 10:06 | 1 |
| Milano Porta Romana | 10:11 | 10:12 | 2 |
| Milano Forlanini | 10:19 | 10:20 | 3 |
| Milano Lambrate | 10:25 | 10:26 | 4 |
| MILANO GRECO PIRELLI | 10:32 | 10:33 | 7 |
| 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 | - | |
| Sesto San Giovanni | 10:37 | - |