Birmingham City hit the Royals with a second half sucker punch that denied us anything from a scrappy physical affair at St Andrew's this evening.
In a frantic start from both sindes, Birmingham threatened early through two crosses from the right - the first skewed half clear by Semedo and the second glanced behind by the head of Moore.
But with less than four minutes on the clock, Lukas Jutkiewicz wrestled his way onto a lovely Bela cross from the left to beat Moore to a header and place his header past Rafael and inside the bottom right corner.
City were pressing the Royals well and putting pressure on the visitors in search of a second, a charged down Tom Holmes clearance fell to the fewet of Hogan just inside the box but he dragged his effort wide and the offside flag was raised regardless.
A worked free kick saw the ball dinked into Joao in space but his hooked effort was charged down and the Royals striker needed treatment for his angle which was caught in his follow through.
Reading were struggling to find their fluency though and Halilovic crossed from the right where Hogan flicked the ball on for Jutkiewicz - but Rafael was off his line quickly to collect the ball before he had to field a shot.
With half an hour gone, Olise and Richards couldn't prevent another cross coming in from the right and Moore's headed clearance fell to Roberts who half-volleyed a shot high over the bar.
Meite made Etheridge tip a 25 yard free kick over his crossbar with a sweetly struck set piece. Then Laurent thundered a volley wide of the target from range as the visitors started to find a foothold in the game.
McIntyre won a free kick and Olise delivered a delightful cross that needed heading behind for a corner. Olise raced over to take the corner and fizzed it powerfully to Meite at the back post who bulleted a headed home to make it 1-1.
Meite bore down on Etheridge trying to get to a long Olise ball before the City keeper, but Etheridge just won the race to clear the danger.
On the stroke of half-time, no fould was awarded when Richards was bundled over in midfield and Birmingham nearly took advantage; Rafael had to parry a powerful strike from Gardner and the ball luckily ricocheted off a Reading body and back into the palms of the Brazilian.
Half-time: Birmingham City 1-1 Reading
Reading began the second half on the front foot and had appeals for a penalty turned away when Joao's foot was clipped as a Birmingham leg cleared a cross from Olise.
Meite turned well in midfield and nearly threaded a pass through to Joao in a reversal of the combination that worked at Forest at the weekend - but the pass was read by a blue shirt and the attack broke down.
Semedo delivered a low cross from the right that Meite ghosted onto and directed high over the bar from a good position, but the offside flag went up against him anyway handing the hosts a free kick.
Reading had enjoyed much the better of the second half, but City struck with a sucker punch. A corner from the right wasn't cleared and the ball popped up for Harlee Dean to head perfectly inside the left upright and beyond the dive of Rafael to make it 2-1.
Reading nearly levelled again when Olise's sweetly struck volley was saved by Etheridge low to his right, Puscas followed it in but the keeper clawed the ball away from his toes and denied the Romanian a stab at goal.
Reading upped the urgency but Ejaria's driving run ended with a fine block from Dean to deny the Royals substitute the sniff of an equaliser.
Nothing was coming off for Reading and a nice combination between Ejaria and Yiadom ended with an overhit pass that Olise couldn't catch. Then a good ball into a crowded box resulted only in a free kick for the home side after a Puscas push.
Three minutes of injury time elapsed on a frustrating night for the Royals.
Full-time: Birmingham City 2-1 Reading
Birmingham City: Etheridge, Colin, Pedersen, Roberts, Hogan, Jutkiewicz (Cosgrove 72), Bela (Leko 63), Dean (c), Gardner (Sunjic 63), Harper, Halilovic (Seddon 87).
Unused subs: Prieto, Friend, Sanchez, McGree, San José.
Yellow: Colin, Gardner
Scorer: Jutkiewicz 4, Dean 72
Reading: Rafael, Yiadom, Richards, Holmes, Moore (c), McIntyre, Semedo (Rinomhota 77), Laurent (Ejaria 73), Olise, Méïté (Pușcaș 70), João.
Unused subs: Southwood, Esteves, Gibson, Tetek, Aluko, Baldock.
Scorer: Meite 35
This match report was brought to you by WHATJOBS. Learn more at www.WHATJOBS.com