| Station | Platform | Arrival | Departure |
|---|---|---|---|
| WCK Wick | 1 | 11:58 ⚠ 5m late | |
| GGJ Georgemas Junction | 1 | 12:15 ⚠ 4m late | 12:16 ⚠ 4m late |
| THS Thurso | 1 | 12:26 ⚠ 4m late | 12:30 ⚠ 4m late |
| GGJ Georgemas Junction | 1 | 12:40 ⚠ 4m late | 12:43 ✔ On Time |
| SCT Scotscalder | 1 | 12:48 ⚠ 1m late | 12:48 ⚠ 1m late |
| ABC Altnabreac | 1 | 12:58 ✔ On Time | 12:58 ⚠ 1m late |
| FRS Forsinard | 1 | 13:09 ✔ 1m early | 13:09 ✔ On Time |
| KBC Kinbrace | 1 | 13:18 ⚠ 1m late | 13:18 ⚠ 1m late |
| KIL Kildonan | 1 | 13:28 ⚠ 1m late | 13:28 ⚠ 1m late |
| HMS Helmsdale | 1 | 13:42 ⚠ 1m late | 13:42 ⚠ 2m late |
| BRA Brora | 1 | 13:57 ⚠ 2m late | 13:58 ⚠ 2m late |
| DNO Dunrobin Castle | 1 | 14:03 ⚠ 3m late | 14:03 ⚠ 3m late |
| GOL Golspie | 1 | 14:08 ⚠ 1m late | 14:08 ⚠ 2m late |
| ROG Rogart | 1 | 14:17 ⚠ 2m late | 14:17 ⚠ 3m late |
| LRG Lairg | 2 | 14:33 ✔ On Time | 14:33 ⚠ 1m late |
| INH Invershin | 1 | 14:41 ⚠ 2m late | 14:41 ⚠ 2m late |
| CUA Culrain | 1 | 14:42 ⚠ 2m late | 14:42 ⚠ 2m late |
| ARD Ardgay | 1 | 14:49 ✔ On Time | 14:49 ⚠ 1m late |
| TAI Tain | 1 | 15:05 ✔ On Time | 15:05 ⚠ 1m late |
| FRN Fearn | 1 | 15:11 ⚠ 1m late | 15:11 ⚠ 1m late |
| IGD Invergordon | 1 | 15:24 ✔ On Time | 15:24 ⚠ 1m late |
| ASS Alness | 1 | 15:30 ✔ On Time | 15:30 ⚠ 1m late |
| DIN Dingwall | 2 | 15:42 ⚠ 2m late | 15:42 ⚠ 3m late |
| CBD Conon Bridge | 1 | 15:47 ⚠ 2m late | 15:47 ⚠ 3m late |
| MOO Muir of Ord | 1 | 15:54 ⚠ 2m late | 15:55 ⚠ 2m late |
| BEL Beauly | 1 | 16:00 ⚠ 2m late | 16:00 ⚠ 2m late |
| INV Inverness | 5 | 16:15 ⚠ 4m late |
| Station | Platform | Arrival | Departure |
|---|---|---|---|
| INV Inverness | 5 | 17:54 ✔ On Time | |
| BEL Beauly | 1 | 18:09 ✔ 1m early | 18:09 ✔ On Time |
| MOO Muir of Ord | 2 | 18:15 ✔ 1m early | 18:15 ✔ On Time |
| CBD Conon Bridge | 1 | 18:22 ✔ On Time | 18:22 ✔ On Time |
| DIN Dingwall | 1 | 18:27 ⚠ 2m late |
| Station | Platform | Arrival | Departure |
|---|---|---|---|
| DIN Dingwall | 1 | 18:33 ⚠ 2m late | |
| GVE Garve | 2 | 18:55 ⚠ 2m late | 18:55 ⚠ 3m late |
| LCC Lochluichart | 1 | 19:03 ⚠ 3m late | 19:03 ⚠ 3m late |
| AAT Achanalt | 1 | 19:09 ⚠ 4m late | 19:09 ⚠ 4m late |
| ACN Achnasheen | 2 | 19:21 ⚠ 2m late | 19:22 ⚠ 2m late |
| ACH Achnashellach | 1 | 19:39 ⚠ 4m late | 19:39 ⚠ 4m late |
| STC Strathcarron | 2 | 19:50 ⚠ 2m late | 19:51 ⚠ 2m late |
| ATT Attadale | 1 | 19:54 ⚠ 3m late | 19:54 ⚠ 3m late |
| STF Stromeferry | 1 | 20:08 ⚠ 1m late | 20:08 ⚠ 2m late |
| DCG Duncraig | 1 | 20:15 ⚠ 3m late | 20:15 ⚠ 4m late |
| PLK Plockton | 1 | 20:20 ⚠ 2m late | 20:20 ⚠ 2m late |
| DRN Duirinish | 1 | 20:22 ⚠ 4m late | 20:22 ⚠ 4m late |
| KYL Kyle of Lochalsh | 1 | 20:33 ⚠ 3m late |
Re-planned following cancelled train on Day 22. Heart of Wales line closed following Storm Christoph, with replacement bus instead keeping as close as possible to train timetable and going all the way from Shrewsbury <> Cardiff via Llanelli.