| # | Station | Arrives | Departs | Halt | Dist. | Day |
|---|---|---|---|---|---|---|
| 1 | Saharanpur Jn. SRE Source | Start | 4:05 AM | - | 0 | 1 |
| 2 | Baliakheri BAE | 4:23 AM | 4:24 AM | 1m | 10 | 1 |
| 3 | Sunehti Kharkhr SNKE | 4:29 AM | 4:30 AM | 1m | 15 | 1 |
| 4 | Chodiala CDL | 4:36 AM | 4:37 AM | 1m | 21 | 1 |
| 5 | Iqbalpur IQB | 4:44 AM | 4:45 AM | 1m | 27 | 1 |
| 6 | Roorkee RK | 4:53 AM | 4:55 AM | 2m | 35 | 1 |
| 7 | Dhandhera DNRA | 5:03 AM | 5:04 AM | 1m | 38 | 1 |
| 8 | Landaura LDR | 5:10 AM | 5:11 AM | 1m | 43 | 1 |
| 9 | Dausni DSNI | 5:17 AM | 5:18 AM | 1m | 48 | 1 |
| 10 | Laksar Jn LRJ | 5:27 AM | 5:37 AM | 10m | 53 | 1 |
| 11 | Raisi RSI | 5:45 AM | 5:46 AM | 1m | 61 | 1 |
| 12 | Balawali BLW | 5:54 AM | 5:55 AM | 1m | 69 | 1 |
| 13 | Chandok CNK | 6:02 AM | 6:03 AM | 1m | 76 | 1 |
| 14 | Muzzampur Nryn MZM | 6:10 AM | 6:11 AM | 1m | 83 | 1 |
| 15 | Fazalpur FZL | 6:17 AM | 6:18 AM | 1m | 89 | 1 |
| 16 | Najibabad Jn NBD | 6:29 AM | 6:31 AM | 2m | 94 | 1 |
| 17 | Murshadpur MSDR | 6:39 AM | 6:40 AM | 1m | 101 | 1 |
| 18 | Bundki BEK | 6:47 AM | 6:48 AM | 1m | 107 | 1 |
| 19 | Nagina NGG | 6:58 AM | 7:00 AM | 2m | 116 | 1 |
| 20 | Puraini PNI | 7:07 AM | 7:08 AM | 1m | 122 | 1 |
| 21 | Habibwala HBW | 7:15 AM | 7:16 AM | 1m | 128 | 1 |
| 22 | Dhampur DPR | 7:22 AM | 7:24 AM | 2m | 133 | 1 |
| 23 | Chakraj Mal CAJ | 7:32 AM | 7:33 AM | 1m | 140 | 1 |
| 24 | Seohara SEO | 7:41 AM | 7:43 AM | 2m | 147 | 1 |
| 25 | Mewa Nawada MWE | 8:00 AM | 8:01 AM | 1m | 157 | 1 |
| 26 | Kanth KNT | 8:10 AM | 8:12 AM | 2m | 163 | 1 |
| 27 | Matlabpur MTB | 8:23 AM | 8:24 AM | 1m | 172 | 1 |
| 28 | Aghwanpur AWP | 8:38 AM | 8:39 AM | 1m | 182 | 1 |
| 29 | Harthala HRH | 8:46 AM | 8:47 AM | 1m | 187 | 1 |
| 30 | Moradabad MB Destination | 9:40 AM | End | - | 193 | 1 |
Times are as per the latest published Indian Railways time table and may change. Live running status.