Keith Fahey's header put Birmingham ahead before Lee Williamson and Lee Bowyer were both sent off for grappling inside the centre circle.
Captain Paul McKenna's rocket shot levelled matters before the late drama.
Birmingham manager Alex McLeish: "We know that we blew this opportunity and we have one left to get up to the Premier League automatically.
"They were two brilliant goals and sometimes you can start splitting hairs to analyse why you lost.
"We had our opportunities, we had some of the game at 1-1, but it didn't go for us.
"We have to go and win at Reading and I'll make sure that every player is aware of my feelings on that and the positive side of things in the coming week."
Preston manager Alan Irvine: "Even though this is as hard a place to come back as you can possibly find in the Championship, I still felt there were chances for us.
"If these results manage to get us in the play-offs then fantastic, it will be a great season for us considering where we were this time last year.
"If they don't then it's still great progress but obviously I want us to be in there when it really matters."
Birmingham: Maik Taylor, Carr, Jaidi, Queudrue, Traore, Larsson (Jerome 54), Johnson, Bowyer, Fahey, O'Connor (Phillips 72), McFadden. Subs Not Used: Doyle, Martin Taylor, Carsley.
Sent Off: Bowyer (60).
Booked: Queudrue, Bowyer, Jaidi.
Goals: Fahey 57.
Preston: Lonergan, Jones, Mawene, St. Ledger, Nolan, Sedgwick (Whaley 75), McKenna, Williamson, Wallace, Parkin (Brown 58), Mellor (Chilvers 90). Subs Not Used: Neal, Carter.
Sent Off: Williamson (60), Wallace (90).
Booked: Parkin, Wallace.
Goals: McKenna 69, Wallace 89.
Ref: Phil Dowd (Staffordshire).
Make your Championship predictions