Teenage substitute Jahmari Clarke scored twice as Reading ended a run of four straight defeats and nearly seven hours without a goal with a 2-1 win in a delayed game against Birmingham at St Andrew's.
Academy graduate Clarke, 18, equalised in the 70th minute with his first senior goal and then netted again in the 82nd.
Scott Hogan had put Birmingham on their way to what for a while looked like it was going to be their fourth straight win.
Kick-off was delayed for 35 minutes due to a system failure at St Andrew's which engineers fixed after tickets could not be scanned and CCTV and wifi were affected.
Blues were in a hurry to get started and they took a third-minute lead.
Hogan latched onto an underhit backpass from captain Liam Moore and rounded goalkeeper Luke Southwood before tapping into the empty net.
It was Hogan's third goal in as many games and his sixth of the season.
Hogan then attempted to turn provider with a cross intended for Troy Deeney that needed to be pushed over the bar by Southwood.
Reading, who have 16 players out injured, worked themselves back into the game and were a threat for the final hour of the game.
After a superb sliding tackle by Marc Roberts to stop George Puscas, John Swift's free-kick was blocked by the defensive wall before Tom Dele-Bashiru sliced wide from long range.
Reading continued to battle for something from the game throughout the second half.
Andy Yiadom saw a fiercely-hit cross flash across the face of goal with no one to apply the final touch and was inches away with a low drive from the edge of the box.
In between, Blues returned to the attack and Riley McGree hit a rising 25-yard drive that flew narrowly over the bar.
Blues remained dangerous, however, and Jeremie Bela went desperately close with a curling shot that sailed just wide after he cut in from the left.
Reading equalised when Clarke - a half-time substitute for Puscas - planted a bullet header into the net from Swift's cross.
The goal ended a run of 409 minutes without a goal for the Royals.
Blues went for the winner and Deeney sent a diving header against a post from Bela's cross.
But Clarke had other ideas and smashed home with eight minutes to go after his first shot was blocked by goalkeeper Matija Sarkic.
Deeney's header was deflected wide from another Bela cross as Blues piled forward again in search of an equaliser.
But Reading held on for three precious points and a first win since October 16.
What the managers said...
Birmingham's Lee Bowyer: "I didn't think we played well at all. Even the things we are good at - competing and second balls - they were better than us and I couldn't see that happening today. I was really confident going into the game - I thought we'd take that winning mentality into this one. I felt Reading were there for the taking if we wanted it. But maybe it was one game too many for the small group we have left."
"I can't fault the players - even today they tried their hardest but we fell a little bit short. We got a gift from there to go 1-0 up, but I just felt in possession and out of possession we weren't our normal selves. There were nice little passages here and there but not enough to win the game."
Reading's Veljko Paunovic: "It took him [Clarke] a couple of times to finish the second goal - and it took a few years off my life before it hit the net! But he did well. He's a young lad with very good potential and given the circumstances, he was called up and did very well.
"I was thinking how we were going to fix it and I know we have options every game and I know we can flip results. The inconsistency and the complacency they [Birmingham] showed were our allies and we took our chances and did very well in the second half."