The Toffees were in desperate need of a victory and things turned for the good when Birmingham's Roger Johnson knocked in an own goal ten minutes after the break.
The win was sealed in the 90th minute when Tim Cahill headed home a Leighton Baines cross, the win delighting manager David Moyes.
"Birmingham have a great home record and for us to end it after more than 12 months was really great from our point of view. We've now taken four points from away matches at Fulham and Birmingham, two teams I would expect to finish in the top half of the table," he said.
"We played really well, especially in the first half and how we went in 0-0, I don't know, but I've been saying that all season. People who have watched us said our performances have not merited where we are in the league.
"The players needed to see the way we were playing was going to get them rewards points-wise - and we got it today. Maybe we had a bit of good fortune with the first goal which was deflected but I've been saying maybe we needed something like that.
"We passed the ball well, were fluid and tried to play good football. But I am not jumping about because we've won again because I expect us to go on and win a lot of matches."
Venue: St Andrews, Birmingham Crowd: 23,138 Referee: Phil Dowd Yellow cards:BC - nil EV - nil
BC Ben Foster (gk), Scott Dann, Roger Johnson, Liam Ridgewell, Stephen Carr, Lee Bowyer, Barry Ferguson, Keith Fahey (Zigic 70'), Sebastian Larsson, Cameron Jerome (Derbyshire 80'), Alexander Hleb
Subs - Maik Taylog (gk), Kevin Phillips, Matt Derbyshire (80'), Nikola Zigic (70'), Martin Jiranek, Michel, David Muprhy
EV Tim Howard (gk), Sylvain Distin, Phil Jagielka, Leighton Baines, Phil Neville, Mikel Arteta, Marouane Fellaini, Leon Osman, Seamus Coleman (Bilyaletdinov 87'), Yakubu Aiyegbeni (Heitinga 80'), Tim Cahill