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