| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDF Cardiff Central | 0 | 06:05 ✔ On Time | ||
| PYE Pye Corner | 1 | 06:24 ✔ 2m early | 06:24 ✔ On Time | |
| ROR Rogerstone | 1 | 06:27 ✔ 1m early | 06:28 ✔ On Time | |
| RCA Risca & Pontymister | 1 | 06:31 ✔ On Time | 06:31 ⚠ 1m late | |
| CKY Crosskeys | 1 | 06:36 ✔ On Time | 06:37 ✔ On Time | |
| NBE Newbridge | 1 | 06:43 ✔ On Time | 06:43 ⚠ 1m late | |
| LTH Llanhilleth | 1 | 06:49 ✔ On Time | 06:50 ✔ On Time | |
| EBV Ebbw Vale Parkway | 1 | 06:58 ⚠ 2m late | 06:59 ✔ On Time | |
| EBB Ebbw Vale Town | ??? | 07:05 ✔ 3m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| EBB Ebbw Vale Town | ??? | 07:07 ✔ On Time | ||
| EBV Ebbw Vale Parkway | 1 | 07:10 ✔ 1m early | 07:10 ✔ On Time | |
| LTH Llanhilleth | 2 | 07:18 ✔ On Time | 07:19 ✔ On Time | |
| NBE Newbridge | 2 | 07:25 ✔ 1m early | 07:25 ✔ On Time | |
| CKY Crosskeys | 2 | 07:31 ✔ On Time | 07:32 ⚠ 1m late | |
| RCA Risca & Pontymister | 2 | 07:37 ✔ 1m early | 07:37 ✔ On Time | |
| ROR Rogerstone | 1 | 07:40 ✔ On Time | 07:41 ✔ On Time | |
| PYE Pye Corner | 1 | 07:44 ✔ 1m early | 07:44 ✔ On Time | |
| CDF Cardiff Central | 3A 3 | 08:05 ✔ 5m early | 08:12 ✔ On Time | |
| PYC Pontyclun | 1 | 08:24 ✔ 1m early | 08:24 ✔ On Time | |
| LLR Llanharan | 2 | 08:29 ✔ 1m early | 08:29 ✔ On Time | |
| PCD Pencoed | 1 | 08:34 ✔ 1m early | 08:34 ✔ On Time | |
| BGN Bridgend | 1 | 08:39 ✔ 1m early | 08:40 ✔ 1m early | |
| WMI Wildmill | ??? | 08:43 ✔ 1m early | 08:43 ✔ On Time | |
| SRR Sarn | ??? | 08:46 ✔ 1m early | 08:46 ✔ On Time | |
| TDU Tondu | ??? | 08:49 ✔ 1m early | 08:49 ✔ On Time | |
| GMG Garth (Mid Glamorgan) | ??? | 08:59 ✔ 1m early | 08:59 ✔ On Time | |
| MEW Maesteg (Ewenny Road) | ??? | 09:02 ✔ 1m early | 09:02 ✔ On Time | |
| MST Maesteg | ??? | 09:06 ✔ 2m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| MST Maesteg | ??? | 09:08 ✔ On Time | ||
| MEW Maesteg (Ewenny Road) | ??? | 09:10 ✔ 1m early | 09:10 ✔ On Time | |
| GMG Garth (Mid Glamorgan) | ??? | 09:13 ✔ 1m early | 09:13 ✔ On Time | |
| TDU Tondu | 1 | 09:22 ✔ 1m early | 09:22 ✔ On Time | |
| SRR Sarn | 1 | 09:25 ✔ 1m early | 09:25 ✔ On Time | |
| WMI Wildmill | 1 | 09:28 ✔ 1m early | 09:28 ✔ On Time | |
| BGN Bridgend | 2 | 09:31 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| BGN Bridgend | 1A | 09:40 ✔ On Time | ||
| LWM Llantwit Major | 1 | 09:54 ✔ 1m early | 09:54 ✔ On Time | |
| RIA Rhoose Cardiff International Airport | 1 | 10:04 ✔ 1m early | 10:05 ✔ On Time | |
| BRY Barry | 1 | 10:13 ✔ 3m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| BRY Barry | 3 | 10:25 ✔ On Time | ||
| BYI Barry Island | 1 | 10:31 ✔ 3m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| BYI Barry Island | 1 | 10:35 ✔ 1m early | ||
| BRY Barry | 1 | 10:39 ✔ 1m early | 10:43 ✔ 1m early | |
| BYD Barry Docks | 1 | 10:46 ✔ 1m early | 10:46 ✔ On Time | |
| CAD Cadoxton | 1 | 10:49 ✔ 1m early | 10:49 ⚠ 1m late | |
| DNS Dinas Powys | 1 | 10:53 ⚠ 1m late | 10:54 ⚠ 1m late | |
| EBK Eastbrook | 1 | 10:56 ✔ On Time | 10:56 ⚠ 1m late | |
| CGN Cogan | 1 | 10:59 ✔ On Time | 10:59 ⚠ 1m late | |
| GTN Grangetown (Cardiff) | 1 | 11:04 ✔ On Time |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| GTN Grangetown (Cardiff) | 2 | 11:24 ⚠ 6m late | ||
| DGL Dingle Road | 1 | 11:28 ⚠ 6m late | 11:28 ⚠ 7m late | |
| PEN Penarth | 1 | 11:33 ⚠ 3m late |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| PEN Penarth | 1 | 11:35 ⚠ 4m late | ||
| DGL Dingle Road | 1 | 11:37 ⚠ 3m late | 11:37 ⚠ 5m late | |
| GTN Grangetown (Cardiff) | 1 | 11:41 ⚠ 7m late | 11:41 ⚠ 8m late | |
| CDF Cardiff Central | 6 | 11:47 ⚠ 6m late | 11:48 ⚠ 7m late | |
| CDQ Cardiff Queen Street | 4 | 11:52 ⚠ 5m late |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDQ Cardiff Queen Street | 4 | 12:00 ⚠ 3m late | ||
| CYS Cathays | 2 | 12:02 ⚠ 3m late | 12:03 ⚠ 2m late | |
| LLN Llandaf | 2 | 12:07 ⚠ 2m late | 12:07 ⚠ 3m late | |
| RDR Radyr | 3 | 12:10 ⚠ 2m late | 12:10 ⚠ 3m late | |
| TAF Taffs Well | 2 | 12:14 ⚠ 3m late | 12:15 ⚠ 3m late | |
| TRE Trefforest Estate | 1 | 12:19 ⚠ 2m late | 12:20 ⚠ 1m late | |
| TRF Trefforest | 2 | 12:24 ⚠ 1m late | 12:24 ⚠ 2m late | |
| PPD Pontypridd | 3 | 12:27 ⚠ 1m late | 12:28 ⚠ 1m late | |
| TRH Trehafod | 2 | 12:33 ✔ On Time | 12:33 ⚠ 1m late | |
| POR Porth | 1 | 12:36 ✔ On Time | 12:37 ✔ On Time | |
| DMG Dinas (Rhondda) | 2 | 12:40 ✔ On Time | 12:41 ✔ On Time | |
| TNP Tonypandy | 1 | 12:43 ✔ 1m early | 12:43 ✔ On Time | |
| LLY Llwynypia | 1 | 12:46 ✔ 1m early | 12:46 ✔ 1m early | |
| YSR Ystrad Rhondda | 2 | 12:49 ✔ 2m early | 12:50 ✔ 1m early | |
| TPN Ton Pentre | 1 | 12:52 ✔ 1m early | 12:53 ✔ 1m early | |
| TRY Treorchy | 1 | 12:56 ✔ 1m early | 12:56 ✔ On Time | |
| YNW Ynyswen | 2 | 12:59 ✔ 2m early | 12:59 ✔ 1m early | |
| TRB Treherbert | 1 | 13:04 ✔ 3m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| TRB Treherbert | 1 | 13:10 ✔ On Time | ||
| YNW Ynyswen | 1 | 13:12 ✔ 1m early | 13:12 ⚠ 1m late | |
| TRY Treorchy | 1 | 13:14 ⚠ 1m late | 13:15 ✔ On Time | |
| TPN Ton Pentre | 1 | 13:17 ✔ On Time | 13:18 ⚠ 1m late | |
| YSR Ystrad Rhondda | 1 | 13:20 ⚠ 1m late | 13:22 ✔ 1m early | |
| LLY Llwynypia | 1 | 13:24 ✔ On Time | 13:25 ✔ On Time | |
| TNP Tonypandy | 1 | 13:27 ✔ 1m early | 13:28 ✔ On Time | |
| DMG Dinas (Rhondda) | 1 | 13:30 ✔ 1m early | 13:30 ✔ On Time | |
| POR Porth | 2 | 13:33 ✔ 1m early | 13:34 ✔ On Time | |
| TRH Trehafod | 1 | 13:37 ✔ 1m early | 13:37 ✔ On Time | |
| PPD Pontypridd | 2 | 13:42 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| PPD Pontypridd | 3 | 13:46 ✔ On Time | ||
| ACY Abercynon | 2 | 13:53 ✔ 1m early | 13:53 ✔ On Time | |
| PER Penrhiwceiber | 1 | 13:59 ✔ 2m early | 13:59 ✔ 1m early | |
| MTA Mountain Ash | 1 | 14:03 ✔ 2m early | 14:03 ✔ On Time | |
| FER Fernhill | 1 | 14:06 ✔ 1m early | 14:06 ✔ On Time | |
| CMH Cwmbach | 1 | 14:10 ✔ 2m early | 14:10 ✔ On Time | |
| XCB | 2 | 14:15 ✔ 2m early | N/A | |
| ABA Aberdare | 1 | 14:17 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| ABA Aberdare | 1 | 14:22 ✔ On Time | ||
| CMH Cwmbach | 1 | 14:25 ✔ On Time | 14:25 ⚠ 2m late | |
| FER Fernhill | 1 | 14:28 ⚠ 2m late | 14:29 ⚠ 1m late | |
| MTA Mountain Ash | 2 | 14:32 ✔ On Time | 14:32 ⚠ 1m late | |
| PER Penrhiwceiber | 1 | 14:35 ⚠ 1m late | 14:35 ⚠ 2m late | |
| ACY Abercynon | 1 | 14:41 ⚠ 1m late |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| ACY Abercynon | 2 | 15:11 ✔ On Time | ||
| QYD Quakers Yard | 2 | 15:15 ✔ 1m early | 15:15 ✔ On Time | |
| MEV Merthyr Vale | 2 | 15:21 ✔ 3m early | 15:21 ✔ 1m early | |
| TRD Troed-y-rhiw | 1 | 15:24 ✔ 1m early | 15:25 ✔ 1m early | |
| PTB Pentre-Bach | 1 | 15:28 ✔ 2m early | 15:28 ✔ On Time | |
| MER Merthyr Tydfil | 1 | 15:35 ✔ 4m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| MER Merthyr Tydfil | 1 | 15:39 ✔ On Time | ||
| PTB Pentre-Bach | 1 | 15:42 ✔ 1m early | 15:43 ✔ 1m early | |
| TRD Troed-y-rhiw | 1 | 15:45 ✔ 1m early | 15:45 ✔ On Time | |
| MEV Merthyr Vale | 1 | 15:49 ✔ On Time | 15:50 ⚠ 2m late | |
| QYD Quakers Yard | 1 | 15:55 ✔ On Time | 15:55 ⚠ 1m late | |
| ACY Abercynon | 1 | 15:59 ✔ On Time | 15:59 ⚠ 2m late | |
| PPD Pontypridd | 2 | 16:06 ✔ On Time | 16:06 ⚠ 2m late | |
| TRF Trefforest | 1 | 16:08 ⚠ 2m late | 16:08 ⚠ 2m late | |
| TRE Trefforest Estate | 2 | 16:13 ⚠ 1m late | 16:14 ✔ On Time | |
| TAF Taffs Well | 1 | 16:18 ✔ On Time | 16:18 ⚠ 1m late | |
| RDR Radyr | 1 | 16:23 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| RDR Radyr | 2 | 16:35 ⚠ 1m late | ||
| DCT Danescourt | 1 | 16:39 ✔ 1m early | 16:40 ✔ On Time | |
| FRW Fairwater | 1 | 16:42 ✔ 1m early | 16:43 ✔ 1m early | |
| WNG Waun-Gron Park | 1 | 16:45 ✔ 2m early | 16:45 ✔ 1m early | |
| NNP Ninian Park | 1 | 16:48 ✔ 1m early | 16:49 ✔ 1m early | |
| CDF Cardiff Central | 6 | 16:55 ⚠ 2m late | 17:00 ✔ On Time | |
| CDQ Cardiff Queen Street | 4 | 17:04 ✔ On Time |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDQ Cardiff Queen Street | 5 | 17:45 ✔ On Time | ||
| HHL Heath High Level | 1 | 17:50 ✔ 1m early | 17:50 ✔ On Time | |
| LLS Llanishen | 1 | 17:53 ✔ 1m early | 17:53 ✔ On Time | |
| LVT Lisvane & Thornhill | 1 | 17:56 ✔ 1m early | 17:56 ✔ On Time | |
| CPH Caerphilly | 3 | 18:01 ✔ On Time | 18:01 ⚠ 1m late | |
| ABE Aber | 1 | 18:03 ✔ On Time | 18:04 ✔ On Time | |
| LNB Llanbradach | 1 | 18:08 ✔ 1m early | 18:08 ✔ On Time | |
| YSM Ystrad Mynach | 2 | 18:13 ✔ On Time | 18:13 ⚠ 1m late | |
| HNG Hengoed | 1 | 18:16 ✔ On Time | 18:16 ✔ On Time | |
| PGM Pengam | 1 | 18:19 ⚠ 1m late | 18:20 ⚠ 1m late | |
| BGD Bargoed | 2 | 18:25 ✔ 1m early | 18:25 ⚠ 1m late | |
| BHD Brithdir | 1 | 18:29 ✔ On Time | 18:29 ⚠ 1m late | |
| TIR Tir-Phil | 1 | 18:32 ✔ On Time | 18:32 ⚠ 1m late | |
| PLT Pontlottyn | 1 | 18:37 ✔ On Time | 18:37 ✔ On Time | |
| RHY Rhymney | 1 | 18:41 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| RHY Rhymney | 1 | 18:44 ✔ On Time | ||
| BGD Bargoed | 1 | 18:54 ✔ On Time |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| BGD Bargoed | 1 | 19:11 ✔ 1m early | ||
| GFF Gilfach Fargoed | 2 | 19:13 ✔ 1m early | 19:14 ✔ 1m early | |
| PGM Pengam | 2 | 19:16 ✔ On Time | 19:17 ✔ 1m early | |
| HNG Hengoed | 2 | 19:20 ✔ On Time | 19:21 ✔ 1m early | |
| YSM Ystrad Mynach | 1 | 19:23 ✔ 1m early | 19:24 ✔ 1m early | |
| LNB Llanbradach | 2 | 19:28 ✔ On Time | 19:29 ✔ On Time | |
| ECP Energlyn & Churchill Park | 1 | 19:32 ✔ On Time | 19:32 ✔ On Time | |
| ABE Aber | 2 | 19:35 ✔ 1m early | 19:35 ✔ 1m early | |
| CPH Caerphilly | 2 | 19:38 ✔ 2m early | 19:38 ✔ 1m early | |
| LVT Lisvane & Thornhill | 2 | 19:42 ✔ On Time | 19:43 ✔ 1m early | |
| LLS Llanishen | 2 | 19:45 ✔ 1m early | 19:45 ✔ On Time | |
| HHL Heath High Level | 2 | 19:48 ✔ 1m early | 19:48 ✔ On Time | |
| CDQ Cardiff Queen Street | 3 | 19:54 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDQ Cardiff Queen Street | 2 | 20:20 ✔ On Time | ||
| CDB Cardiff Bay | 2 | 20:24 ✔ 1m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDB Cardiff Bay | 2 | 20:26 ✔ 1m early | ||
| CDQ Cardiff Queen Street | 2 | 20:30 ✔ 2m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| CDQ Cardiff Queen Street | 4 | 20:52 ✔ On Time | ||
| HLL Heath Low Level | ??? | 20:57 ✔ 1m early | 20:57 ✔ On Time | |
| TGS Ty Glas | ??? | 20:59 ✔ On Time | 20:59 ⚠ 1m late | |
| BCG Birchgrove | ??? | 21:01 ✔ 1m early | 21:01 ⚠ 1m late | |
| RHI Rhiwbina | ??? | 21:03 ✔ On Time | 21:03 ⚠ 1m late | |
| WHT Whitchurch (Cardiff) | ??? | 21:04 ⚠ 1m late | 21:04 ⚠ 1m late | |
| COY Coryton | ??? | 21:09 ✔ 2m early |
| Station | Platform | Arrival | Departure | |
|---|---|---|---|---|
| COY Coryton | ??? | 21:12 ✔ On Time | ||
| WHT Whitchurch (Cardiff) | ??? | 21:13 ✔ On Time | 21:13 ✔ On Time | |
| RHI Rhiwbina | ??? | 21:15 ✔ 1m early | 21:15 ✔ On Time | |
| BCG Birchgrove | ??? | 21:17 ✔ 1m early | 21:17 ✔ On Time | |
| TGS Ty Glas | ??? | 21:18 ✔ On Time | 21:18 ⚠ 1m late | |
| HLL Heath Low Level | ??? | 21:21 ✔ 1m early | 21:21 ⚠ 1m late | |
| CDQ Cardiff Queen Street | 3 | 21:28 ✔ 2m early | 21:29 ✔ On Time | |
| CDF Cardiff Central | 7 | 21:33 ✔ 2m early |