Sam Walker: 6
Not sure he could have done much about the first two goals, perhaps needed better communication with Osho for the third. Overall pretty solid though, proving a safe pair of a hands with a couple of important saves.
Gabriel Osho: 6
Looked at ease for most of the game despite this being just his second senior start of the season. I was going to perhaps harshly dock him a mark for his error for Cardiff’s third goal, but he made up for it by showing confidence to step up and score a penalty in the shoot-out despite clearly being on his last legs.
Michael Morrison: 7
Led by example at the back, and was particularly impressive in the air with a number of strong headers to clear the danger. Caught out slightly for Robert Glatzel’s goal, giving the German striker a bit too much room to slot home.
Tyler Blackett: 7
Comfortable and solid at centre-back, but much more impressive at left-back following the switch to a four-man defence. Put in an excellent cross for Richards’s goal and nearly scored when he found himself in a one-on-one situation against Etheridge.
Chris Gunter: 6
Struggled up against Josh Murphy to begin with, but gradually improved and made a vital last ditch tackle to prevent Danny Ward from scoring in the second half. Decent going forwards, linking up well with best pal Garath McCleary when he came on.
Based off his recent form, this was an uncharacteristic performance from Pele. Put in a few good tackles here and there, but his passing was wayward and Reading certainly improved after he was withdrawn in the second half.
Charlie Adam: 4
For someone so experienced, Adam’s error for Cardiff’s first goal, as he gave the ball away by not even looking where he was passing, was inexcusable. Tried to make up for it with a couple of trademark pot shots from range, but he was brought off at half-time.
John Swift: 5
Not as heavily involved as he would have liked, Swift struggled to impose that much creativity on the game. Did put in a good cross in the build-up to Rinomhota’s goal, but other than that his deliveries, especially his corners, were underwhelming.
Omar Richards: 7
Got better as the game wore on, and had a strong attacking presence. Clearly relished playing as a winger when Bowen switched formation, and powered home his header with expertise you would not expect from a 5ft 7in full-back.
Yakou Meite: 6
Struggled to get into the game for large parts, but never stopped working and was rewarded with a goal in extra-time - a really well-taken volley when Reading needed it most. Beautiful smile.
George Puscas: 4
Nothing went right for the Romanian. Made some good runs, but the ball either bounced off him or simply never found him. I’m personally beginning to lose patience. Taken off at half-time.
Garath McCleary: 7
Inspired substitution number one. Perhaps his best performance since coming back into the side. A constant threat down the right flank, he put in a number of dangerous crosses and came close to scoring himself as well. Good penalty.
Sone Aluko: 7
Inspired substitution number two. Aluko was eager to drive Reading forward the minute he came on, and although not everything he tried came off, he looked lively throughout. Never thought I’d see him score a winning penalty for Reading.
Andy Rinomhota: 7
Inspired substitution number three. Added energy to the midfield and took his goal really well as he smashed home a volley in the area. Could have had a second goal if it weren’t for a good save from Etheridge.
Jordan Obita: 6
Inspired substitution number four. Came on in extra-time to put in a great cross which Meite met to equalise. Superb to see him score his penalty after his miss at Wembley.
Who was your man of the match against Cardiff? Vote in our poll below or through this link here.