Orjan Nyland 6: Saved well from Rubin Colwill’s effort early in the second half. The Norwegian could do very little for either of the Cardiff City goals.
Andy Yiadom 7: Continues to be Reading’s most consistent performer and delivered the assist for Lucas Joao’s goal.
Michael Morrison 5: Quiet afternoon for the captain but part of the defence which looked shaky for much of the second-half.
Tom Holmes 5: Some crunching tackles and important blocks in the first half. Tracked Jordan Hugill’s run which – combined with McIntyre’s slip – allowed acres of space for Will Vaulks’ winner.
Tom McIntyre 4: Caught out of position for the first goal and his slip left the space for Cardiff’s second. Harsh considering he isn’t a natural left-back but those mistakes contributed to the goals. Won’t be surprised to see Baba Rahman start against Sheffield United on Friday.
Danny Drinkwater 6: A good performance without doing anything spectacular.
Josh Laurent 6: Plenty of effort as always and involved in some lovely link-up play with Joao early on.
John Swift 5: Drifted in and out of the game and should have put Reading 2-0 up after 36 minutes. Replaced by Femi Azeez after 76 minutes. Could have played his last game in a Reading shirt depending on the severity of his calf injury.
Tom Ince 6: Involved in the build up for the goal and looked lively in the early stages. Failed to make much impact after the break. Replaced by Brandon Barker on 87 minutes.
Junior Hoilett 5: A quiet game in comparison to his performance against Stoke. Replaced by Dele-Bashiru after 60 minutes.
Lucas Joao 6: Towering header to open the scoring. Very isolated in the second half and cut an extremely frustrated figure towards the end of the game.
SUBS: Tom Dele-Bashiru 6, Femi Azeez n/a, Brandon Barker n/a