Reading completed a fantastic turnaround in the second half at St Andrew’s to take the points away at Birmingham City’s expense.
Scott Hogan netted a fortuitous opener for the Blues, but Matt Miazga lashed in an equaliser early in the second period – and then Yakou Méïté put Reading ahead moments later.
Pelé’s first goal for the Royals came in the final few minutes, sealing a fantastic afternoon for the travelling players, staff and support.
There was just one amendment to the starting XI after the valiant midweek effort against Sheffield United – in came Omar Richards at left-back, replacing Jordan Obita. Michael Morrison, formerly a long-serving captain of Birmingham, continued to skipper the Royals side with Liam Moore available on the bench.
The hosts threatened first; Dan Crowley was sharp into the tackle to dispossess Ovie Ejaria and whipped a near-post towards Hogan, who was just beaten to the ball by goalkeeper Rafael.
But just after the five-minute mark, Hogan would get the better of the Royals stopper, owing to a mix-up at the back. A long ball forward bounced through, and Matt Miazga’s header back to his goalkeeper was underhit and allowed Blues forward Hogan to continue his fine goalscoring form by prodding a looping effort past Rafael.
Reading looked to react and could have levelled through George Pușcaș, who tried to steal in down the left channel and scamper onto a neat pass with the outside of John Swift’s right boot. The angle wasn’t favourable, so the Romanian went for power – and ended up firing over the frame of goal.
Inexplicably Hogan missed a chance to score his and Birmingham’s second. There was an element of luck about the way the ball was turned over in midfield, but Gary Gardner scampered through, threaded wide to Lukas Jutkiewicz, who crossed to the back post for Hogan. Miazga did well to cover the angle and forced the Villa loanee to fire over.
The home side looked dangerous on the counter; Ejaria dwelt on the ball a moment too long in the centre circle and was robbed by Hogan, who unselfishly laid with to Ivan Sunjic on the edge of the area. The midfielder could only find side netting.
Birmingham had goalkeeper Lee Camp to thank to keep their lead intact when a bit of persistence by Andy Yiadom opened things up; he won the ball high on the right flank and slid in Yakou Méïté, who was denied by the goalie at full stretch. Olise picked up but was wayward with the rebound, as blue-shirted bodies swarmed to try to block.
Then Méïté went for an acrobatic effort, but couldn’t test Camp. Olise was the one to wiggle into space on the left and deliver a cross for the striker to attack, and his overhead effort cleared the crossbar.
Hogan replied in kind as Crowley sent over a deep delivery, and the Blues forward was off target from his bicycle kick. Just before the ref blew up for half-time, Jude Bellingham rode a challenge down the left and Rafael had to be alert to pounce on a dangerous cross-shot as the teenager entered the area.
Half-time | Birmingham City 1-0 Reading
Blues had scored early in the first half; it was the Royals who levelled early in the second. Reading had bodies forward to attack a corner; Birmingham cleared the initial threat but Rinomhota picked the ball up on the right, beat Sunjic and dinked in to the centre where Miazga, of all people, found space to lash in a volley from eight yards.
And four minutes after, the turnaround was complete. Olise won a free-kick as he threatened to counter, and Swift delivered a perfectly-weight ball for Méïté to arrive at first and glance past Camp. 2-1 Reading!
With the advantage suddenly in Reading's favour, Birmingham had to look for a route back - and a risky ball out of defence by Marc Roberts was picked off by Olise. Cutting infield, his through-ball was just overhit for Pușcaș.
Gary Gardner forced Rafael to tip around his post with a 25-yard effort, and then the Birmingham man was almost shown up as Rinomhota's bold run out of defence almost resulted in a wonder-goal. Gardner tried to track the Royals man as he burst from just outside his own area to the corner-flag - Rimonhota beat him on the byline but a low cross was fielded well by the goalie.
Garath McCleary and Pelé came on to shore things up at the back as Birmingham pressed to level things up - and eventually Moore joined the fray as a third centre-half to help deal with the aerial threats.
Pușcaș had hassled and harried all afternoon - and after nipping possession down the left, he jinked past a defender and tried to lay in McCleary through the middle... not quite enough pace on the pass and it was cut out.
It was the sheer tenacity in defence that kept the advantage in Reading's favour as a Sunday League-style scramble saw bodies being thrown into the line of fire to protect Rafael's goal.
And moments later, it was Reading who grabbed the match-sealing goal. Pușcaș again was strong in the hold-up play, eventually threading in McCleary, who then played wide to Pelé - who sized up his marker and curled beautifully into the far corner.
Méïté squandered a chance to put more polish on the scoreline, deep into added time. It mattered little; the day belonged to Reading!
Full-time | Birmingham City 1-3 Reading
Birmingham City: Camp, Pedersen, Roberts, Colin, Dean (c), Gardner, Crowley, Bellingham (Mrabti 72), Sunjic (Kieftenbeld 84), Hogan, Jutkiewicz.
Unused subs: Trueman, Harding, Clarke-Salter, Montero, Boyd-Munce.
Goal: Hogan (6).
Reading: Rafael, Yiadom, Morrison (c), Miazga, Richards, Rinomhota, Swift (Moore 81), Ejaria (Pelé 73), Olise (McCleary 73), Méïté, Pușcaș.
Unused subs: Walker, Blackett, Masika, Adam.
Goals: Miazga (52), Méïté (56), Pelé (87).
Referee: Mr A Davies
Attendance: 19,525 (1,259 away)