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