Two pieces of high-class finishing by Cameron Jerome sealed Birmingham's first win of the season, and left Derby still without a victory.
Jerome provided two classy finishes
Jerome struck after just 32 seconds when he took Mikael Forssell's clever pass to finish from a narrow angle.
Derby skipper Matt Oakley volleyed his side level when Eddie Lewis picked him out with an accurate cross.
But Jerome sealed victory with a thumping volley after Blues substitute Sebastian Larsson flicked on a cross.
He had given Birmingham a sensational start to the first top-flight meeting between the two sides for 29 years.
The Rams failed to clear their lines from a throw-in and the ball was worked to Forssell, whose clever little ball around the corner played Jerome in to drive across Stephen Bywater from a tight angle.
Birmingham were by far the brighter side in the opening exchanges, their passing crisper and movement off the ball positive in contrast to Derby, who gave away possession cheaply.
But Gary Teale gave the home side hope with a low, raking shot which Maik Taylor - recalled for his first appearance since January - tipped round the post, although referee Lee Probert signalled a goal-kick.
That sparked a spell of pressure from Derby, but it was Birmingham who came close to stretching their lead.
Jerome's clever flick sent Forssell clear but as he shaped to round Bywater the Derby keeper read his intentions and spread himself to save. From the resulting corner Radhi Jaidi climbed to power a header against the crossbar.
Steve Howard's first contribution was a late challenge on Johan Djourou which left the on-loan Arsenal player on the deck, and sparked an angry exchange between bosses Steve Bruce and Billy Davies.
Birmingham made a positive start to the second half and Forssell had two chances to double their money.
Jerome played him in after a swift break from defence but Jay McEveley stood firm to deny him a shooting angle and the Finn's first touch then let him down as Fabrice Muamba set him up and McEveley again quickly closed him down.
Matt Oakley's equaliser gave Derby hope.
Out of the blue, Derby levelled when Lewis was given time to pick out Oakley unmarked at the far post and the Rams skipper volleyed home his second goal of the season.
The goal transformed Derby and it took a combination of Taylor and Jaidi to deny Stephen Pearson who latched on to Teale's slide-rule pass down the inside-right channel.
Derby were forced to replace Claude Davis and before Darren Moore had a chance to settle, Larsson flicked on Stephen Kelly's cross for Jerome to volley in his second goal.
Derby began to run out of ideas as they sought an equaliser against some dogged defending, but Craig Fagan saw his shot cleared off the line by Kelly and in injury time Taylor went full-length to deny Oakley a second.
Derby manager Billy Davies:
"It is individual mistakes that have cost us. We have to be more disciplined individually.
"It is all about defenders defending and over the last few weeks we have given players too much space and time.
"There were patches in the game where they gave us some good stuff but it is the little things which are costing us dear. There was some horrendous marking and some horrendous defending and concentration."
Birmingham boss Steve Bruce:
"We made hard work of it but the only thing you can do is make chances and we should have been four up at half-time and the game should have been out of sight.
"You are sitting there fearing what might happen - and what did happen. They haven't created anything at all against us and we have missed chance after chance and we haven't taken them.
"We needed just to have taken the chances and that would have been a complete performance because it could have been a rout."
Derby: Bywater, Griffin, Davis (Moore 60), Todd, McEveley, Teale (Leacock 86), Oakley, Pearson, Lewis (Earnshaw 73), Howard, Fagan.
Subs Not Used: Price, Jones.
Goals: Oakley 51.
Birmingham: Maik Taylor, Parnaby, Jaidi, Ridgewell, Kelly, Kapo, Muamba (Sadler 85), Djourou, McSheffrey (Nafti 73), Jerome, Forssell (Larsson 60).
Subs Not Used: Kingson, O'Connor.
Goals: Jerome 1, 63.
Referee: Lee Probert (Wiltshire).