Jacques Maghoma crossed for David Davis to head in at the far post before Che Adams missed the target for the hosts after rounding the goalkeeper.
Robert Tesche hit the bar from close range but Clayton Donaldson netted from the spot after a Steven Whittaker foul.
Blues continued to dominate and Donaldson cut out a poor Alex Tettey backpass to slot home a third goal.
The Canaries, who started the afternoon unbeaten and in fourth, had not trailed in the Championship this season prior to Davis' opener, but lacked ideas in attack without the injured Cameron Jerome.
Gary Rowett's side had previously dropped five points from leading positions, but the closest Norwich came to scoring was a Jonny Howson effort which was ruled out for offside.
Birmingham could have had an earlier penalty, with Jonathan Grounds going down under an Elliott Bennett challenge, only for appeals to be waved away.
The result leaves Birmingham ninth in the table and Norwich 11th.
REACTION: Norwich City manager Alex Neil speaks to BBC Radio Norfolk
Birmingham manager Gary Rowett:
"With Clayton Donaldson going away on international duty I thought that might be at the back of his mind. He has come in for some criticism for not scoring but I thought he was magnificent.
"It was a really pleasing win after a disappointing home defeat against Wolves last week. The players showed a lot of character on and off the ball and it was the hardest we have worked, let alone the best we have played.
"Norwich did not have too many chances. They are a good team and not having Cameron Jerome available would make it more difficult the way they played."
Norwich manager Alex Neil:
"It is never nice but it was the first away Championship game we have lost since I've been at the club and it was extremely frustrating. If you do not do the basics it is going to be difficult.
"The first goal was a cross which should have been dealt with while the second was a penalty which was unnecessary and the third was a loose pass which was a common theme in our play.
"To be fair some of these players have performed really well in the past but did not do themselves justice in this game.
"The game ranks as one of the poorest since I've been at the club, without question. I do not think we competed.
"It was a shock to watch that performance and for some of the players it was the poorest I have seen them play, which was disappointing."
Match ends, Birmingham City 3, Norwich City 0.
Second Half ends, Birmingham City 3, Norwich City 0.
Corner,  Norwich City. Conceded by Michael Morrison.
Corner,  Norwich City. Conceded by Michael Morrison.
Attempt blocked. Jacob Murphy (Norwich City) left footed shot from outside the box is blocked. Assisted by Jonny Howson.
Substitution, Birmingham City. Reece Brown replaces Che Adams.
Substitution, Birmingham City. David Cotterill replaces Jacques Maghoma.
Offside, Birmingham City. Ryan Shotton tries a through ball, but Che Adams is caught offside.
Attempt saved. Steven Whittaker (Norwich City) left footed shot from outside the box is saved in the bottom right corner. Assisted by Kyle Lafferty.
Robbie Brady (Norwich City) wins a free kick in the defensive half.
Foul by David Davis (Birmingham City).
Goal!  Birmingham City 3, Norwich City 0. Clayton Donaldson (Birmingham City) left footed shot from the centre of the box to the bottom right corner.
Attempt missed. Ryan Bennett (Norwich City) right footed shot from the centre of the box is high and wide to the right following a corner.
Corner,  Norwich City. Conceded by Ryan Shotton.
Wes Hoolahan (Norwich City) wins a free kick in the defensive half.
Foul by Jonathan Spector (Birmingham City).
Foul by Timm Klose (Norwich City).
Ryan Shotton (Birmingham City) wins a free kick in the defensive half.
Corner,  Norwich City. Conceded by Jonathan Grounds.
Corner,  Norwich City. Conceded by Robert Tesche.
Attempt blocked. Jacob Murphy (Norwich City) left footed shot from outside the box is blocked.
Offside, Birmingham City. Robert Tesche tries a through ball, but Clayton Donaldson is caught offside.
Attempt missed. Jacob Murphy (Norwich City) left footed shot from the right side of the box is high and wide to the left. Assisted by Steven Whittaker.
Corner,  Norwich City. Conceded by Che Adams.
Corner,  Norwich City. Conceded by Ryan Shotton.
Attempt blocked. Wes Hoolahan (Norwich City) left footed shot from the right side of the six yard box is blocked. Assisted by Steven Whittaker.
Foul by Jonny Howson (Norwich City).
Maikel Kieftenbeld (Birmingham City) wins a free kick in the attacking half.
Attempt saved. Wes Hoolahan (Norwich City) left footed shot from the right side of the box is saved in the centre of the goal. Assisted by Jacob Murphy.
Attempt blocked. Jacob Murphy (Norwich City) right footed shot from the right side of the box is blocked.
Offside, Birmingham City. Ryan Shotton tries a through ball, but Clayton Donaldson is caught offside.
Goal!  Birmingham City 2, Norwich City 0. Clayton Donaldson (Birmingham City) converts the penalty with a right footed shot to the bottom right corner.
Penalty conceded by Steven Whittaker (Norwich City) after a foul in the penalty area.
Penalty Birmingham City. Clayton Donaldson draws a foul in the penalty area.
Corner,  Birmingham City. Conceded by Alexander Tettey.
Robert Tesche (Birmingham City) hits the bar with a right footed shot from the left side of the six yard box. Assisted by Clayton Donaldson with a cross following a fast break.
Substitution, Norwich City. Josh Murphy replaces Sergi Canos.
Substitution, Norwich City. Kyle Lafferty replaces Steven Naismith.
Robbie Brady (Norwich City) wins a free kick in the attacking half.
Foul by David Davis (Birmingham City).
Birmingham secured their first home win since March with a determined display against a toothless Norwich side.