Match ends, Derby County 3, Birmingham City 1.
Two Derby County goals in three second-half minutes helped end Birmingham City's 11-match unbeaten run in the Championship.
Blues had looked on course for a fifth successive league victory when Lukas Jutkiewicz controlled Che Adams' cross and slotted in past Scott Carson.
But Derby's bright start to the second period was rewarded when substitute Mason Bennett turned in Craig Forsyth's cross from close range.
Harry Wilson's free-kick deflected in off Jutkiewicz to complete the turnaround and Jack Marriott's low finish through the legs of Birmingham goalkeeper Lee Camp lifted Derby to within two points of the Championship summit.
The Rams exited the Carabao Cup at Chelsea on Wednesday, but victory against Garry Monk's Blues extended their unbeaten run in the second tier to six games.
Jutkiewicz's eighth goal in his past seven appearances gave visitors Birmingham the advantage as they sought a fifth straight league win for the first time since December 2009.
Camp preserved their one-goal lead until the interval, making saves from Wilson and Marriott, before Derby's quickfire double turned the match in the hosts' favour.
Bennett's goal was his first in a league game for the Rams for more than five years, while Liverpool loanee Wilson found the net for the fourth time this season - albeit with a touch of fortune.
Wales international Wilson almost capped an impressive individual display with a fourth Derby goal, but he hit the post with a late set-piece.
Derby County manager Frank Lampard:
"We were too slow on the ball and even though we were in the game, we were moving the ball too slow.
"We needed to be quicker on it and I said that in no uncertain terms and the great thing is the players took it on instantly and they changed it with their urgency in the way they played.
"Birmingham are well organised and if you don't move the ball quickly through those lines, they'll defend all day long against you.
"There are moments when you need to do your job and my job was to get my message across but however much you do that the players are the ones that go out and do it."
Birmingham City manager Garry Monk:
"The first half was good, exactly what we wanted. We were very disciplined and good defensively and we were creating good chances.
"In terms of an away performance at a place like this, coming in a goal up is very good.
"But in the second half, not taking anything away from Derby who had a really good second half, I think we beat ourselves, especially in the goals.
"We lacked the usual high standards of concentration that we've had and when the levels are a little bit lower it leads to mistakes and we made mistakes for their goals that were unusual for us.
"We've been on a fantastic run and I don't think this should overshadow the work these players have been doing to prove we can compete and the next step for us is to show that we can respond whenever we face a defeat."
- 23HolmesSubstituted forJohnsonat 90+2'minutes
- 9WaghornSubstituted forBennettat 15'minutes
- 14MarriottSubstituted forJozefzoonat 90+3'minutes
- 1CampBooked at 51mins
- 28MorrisonBooked at 82mins
- 20GardnerBooked at 65minsSubstituted forHardingat 74'minutes
- Chris Kavanagh
- Shots on Target
Second Half ends, Derby County 3, Birmingham City 1.
Richard Keogh (Derby County) wins a free kick in the defensive half.
Foul by Che Adams (Birmingham City).
Jayden Bogle (Derby County) wins a free kick in the defensive half.
Foul by Che Adams (Birmingham City).
Substitution, Derby County. Florian Jozefzoon replaces Jack Marriott.
Substitution, Derby County. Bradley Johnson replaces Duane Holmes.
Delay over. They are ready to continue.
Delay in match Richard Keogh (Derby County) because of an injury.
Delay in match Lukas Jutkiewicz (Birmingham City) because of an injury.
Corner, Birmingham City. Conceded by Curtis Davies.
Foul by Mason Bennett (Derby County).
Harlee Dean (Birmingham City) wins a free kick in the defensive half.
Attempt missed. Duane Holmes (Derby County) right footed shot from the left side of the box is high and wide to the right. Assisted by Harry Wilson.
Attempt saved. Jack Marriott (Derby County) left footed shot from the left side of the box is saved in the bottom left corner. Assisted by Curtis Davies.
Corner, Derby County. Conceded by Wes Harding.
Attempt blocked. Harry Wilson (Derby County) left footed shot from outside the box is blocked.
Michael Morrison (Birmingham City) is shown the yellow card.
Jack Marriott (Derby County) wins a free kick in the attacking half.