A Djibril Cisse penalty rescued Liverpool after a Stephen Warnock own goal and a Jose Reina fumble looked to have given Birmingham an unlikely win.
Luis Garcia gave Liverpool the lead on 68 minutes with a slick finish.
Birmingham went in front after Warnock headed past Reina and the Liverpool goalkeeper then spilled, allowing Walter Pandiani to force the ball home.
But Neil Kilkenny was red-carded after handling on the line and Cisse stepped up to stroke the ball past Taylor.
Given the mind-numbing tedium of the opening hour few would have guessed the last 22 minutes would provide four goals and a sending off.
It was only after Garcia's introduction that the visitors began to open up the Birmingham defence.
Before Garcia's arrival Liverpool's deployment of Peter Crouch as a lone striker had seen them control midfield, but it was a tactic that provided insufficient support for the England international.
Occasionally Gerrard escaped the crowded midfield to get forward in support of Crouch.
In the opening minute after a passing move involving Josemi, Crouch and Bolo Zenden, the ball reached Gerrard, whose close-range effort was blocked by Taylor.
Birmingham struggled to create a worthwhile chance in those opening exchanges.
Finally on 25 minutes Emile Heskey shrugged off Jamie Carragher and hit a powerful low shot that Reina cleared with his feet.
Birmingham's attacking cause was not helped by a strangely out of sorts Mikael Forssell and he was eventually replaced by Pandiani.
Heskey's effort drew a quick riposte from Liverpool.
Gerrard exchanged a one-two with Crouch and then bent a curling shot past Taylor only for the ball to cannon back off the post.
Gerrard began the second period in bullish mood, imperiously striding into the Birmingham area only to sky his shot.
Garcia's introduction for Zenden produced immediate results.
He made a clever run from right to left to pick up Gerrard's pass and then calmly side-footed past Taylor.
Liverpool looked in control, but poor defending found them chasing the game as they conceded twice in the space of three minutes - the first goals Rafa Benitez's side have conceded this season.
Poor communication between Reina and Warnock saw the young England defender head past his keeper.
With 15 minutes to go Reina spilled Heskey's header for Pandiani to force the ball in at the second attempt.
Liverpool surged forward in search of the equaliser and were rescued after Kilkenny handled on the line, with Cisse making no mistake with the penalty.
Birmingham boss Steve Bruce:
"Steven Gerrard has just fallen over and a free-kick is given which leads to us conceding a goal.
"There were two bad decisions and what makes it worse is that the linesman was only five yards away.
"We feel aggrieved because we do not know how badly it is going to cost us until the end of the season. But I'm pleased with the spirit we showed."
Liverpool boss Rafael Benitez:
"We lost two points but the team is working hard and is at least getting more consistent.
"We created some opportunities in both halves. We were controlling the game in the first half but in the second half we were more attacking.
"We need to analyse how we managed to concede two goals because we need to be better when we meet Chelsea."
Birmingham: Maik Taylor, Melchiot, Cunningham, Upson, Clapham, Pennant, Johnson, Kilkenny, Gray, Forssell (Pandiani 73), Heskey (Tebily 90).
Subs Not Used: Martin Taylor, Lazaridis, Vaesen.
Sent Off: Kilkenny (84).
Booked: Clapham, Cunningham.
Goals: Warnock 72 og, Pandiani 75.
Liverpool: Reina, Josemi, Carragher, Hyypia, Warnock, Sinama Pongolle (Luis Garcia 60), Alonso, Hamann (Riise 79), Gerrard, Zenden (Cisse 68), Crouch.
Subs Not Used: Finnan, Carson.
Booked: Sinama Pongolle, Luis Garcia, Warnock.
Goals: Luis Garcia 68, Cisse 85 pen.
Ref: S Bennett (Kent).