Birmingham hauled themselves out of the relegation zone and left Sunderland further in trouble at the wrong end of the Sky Bet Championship with a 3-1 win at St Andrew's.
David Davis put the home side ahead after 28 minutes, and it was 2-0 just before half-time when Jeremie Boga headed in from close range.
On 55 minutes, Sam Gallagher added a third before Bryan Oviedo scored a consolation for Sunderland with seven minutes left.
Birmingham moved up to 20th, while Sunderland slipped to second bottom.