Match ends, Birmingham City 2, Reading 1.
Birmingham City gave their Championship survival hopes a massive boost as they held out against Reading to earn victory for new boss Lee Bowyer in his first match in charge.
In a game of three headed goals, Lukas Jutkiewicz's early strike gave Blues the lead, only for Yakou Meite to equalise at the far post from a right-wing corner.
But Blues skipper Harlee Dean muscled home a superb 12-yard match-winning header on 71 minutes.
That earned City only their fourth home win of the season - and lifts them six points clear of the bottom three.
Reading's first defeat in five games was their second of the season by Blues, who also won 2-1 at Madejski Stadium in December.
It drops them a place to sixth in the table, below in-form Barnsley who won again at bottom club Wycombe.
Reading had won three of their past four away league games against Birmingham City, but they were always likely to face a fired-up Blues side on the back of a timely dose of 'new manager bounce'.
Although Bowyer had only been officially unveiled only 24 hours before, he had already enough time to realise that the restoration of target man Jutkiewicz might prove a big factor.
Recalled to the starting line-up following the miserable 3-0 home defeat by Bristol City which proved the end for Aitor Karanka, Jutkiewicz took just four minutes to make his mark.
From Jeremie Bela's left-wing cross, he fearlessly arrived at the far post to climb over the Reading defence and power home a diving header.
A classic old-fashioned centre-forward's goal - his 50th for the club, but only his third this season, his second from open play and his first in almost four months.
Reading were level on 35 minutes when home keeper Neil Etheridge should have done better with Michael Olise's right-wing cross, allowing Meite the chance to head his eighth goal of the season.
But he made amends with a double second-half save - and it proved to be Dean who settled the outcome, a happier outcome than when he got sent off at Reading in December.
Blues now go to second-placed Watford on Saturday, when Reading host QPR.
Birmingham City head coach Lee Bowyer told BBC WM:
"The lads have obviously been in a bad place for a while now and so it's just pleasing to see them with smiles on faces.
"From the front two, the four in midfield and the four behind them, we were outstanding. It was a real team effort.
"If I'm being really picky we could have got a clean sheet, but we looked hungrier and we wanted to win.
"Reading are a good side but our shape and our workrate limited them and we controlled it. They had possession, but it wasn't really hurting us."
Reading boss Veljko Paunovic told BBC Berkshire:
"We lacked urgency. Nine games left, There is no time to lose. We have nine finals starting on Saturday against QPR, which is going to be another war.
"We have to bounce back and show our best possible face after. But I know I have winners.
"Being contenders brings another level of application and mentality. We are confident, but not convinced yet."
- 2ColinBooked at 22mins
- 35HalilovicSubstituted forSeddonat 87'minutes
- 20GardnerBooked at 28minsSubstituted forSunjicat 63'minutes
- 11BelaSubstituted forLekoat 63'minutes
- 10JutkiewiczSubstituted forCosgroveat 72'minutes
- 19San José
- 33Cabral Barbosa
- 30SemedoSubstituted forRinomhotaat 77'minutes
- 28LaurentSubstituted forEjariaat 73'minutes
- 11MeiteSubstituted forPuscasat 70'minutes
- 18Lucas João
- 2Pontes Esteves
- Andy Woolmer
- Shots on Target
Second Half ends, Birmingham City 2, Reading 1.
Hand ball by Jonathan Leko (Birmingham City).
Attempt blocked. Sam Cosgrove (Birmingham City) right footed shot from outside the box is blocked.
Foul by George Puscas (Reading).
Harlee Dean (Birmingham City) wins a free kick in the defensive half.
Substitution, Birmingham City. Steve Seddon replaces Alen Halilovic.
Attempt blocked. Ovie Ejaria (Reading) right footed shot from outside the box is blocked. Assisted by Tom McIntyre.
Andy Rinomhota (Reading) wins a free kick in the defensive half.
Foul by Ivan Sunjic (Birmingham City).
Foul by Tom McIntyre (Reading).
Sam Cosgrove (Birmingham City) wins a free kick in the defensive half.
Attempt saved. Michael Olise (Reading) left footed shot from outside the box is saved in the bottom left corner. Assisted by Tom McIntyre.
Offside, Birmingham City. Kristian Pedersen tries a through ball, but Alen Halilovic is caught offside.
Substitution, Reading. Andy Rinomhota replaces Alfa Semedo.
Attempt missed. Jonathan Leko (Birmingham City) right footed shot from outside the box is too high. Assisted by Rekeem Harper.
Substitution, Reading. Ovie Ejaria replaces Josh Laurent.
Substitution, Birmingham City. Sam Cosgrove replaces Lukas Jutkiewicz because of an injury.
Goal! Birmingham City 2, Reading 1. Harlee Dean (Birmingham City) header from the centre of the box to the bottom left corner following a corner.
Corner, Birmingham City. Conceded by Tom McIntyre.