Walter Pandiani scored a late equaliser to earn Birmingham a draw which saw Manchester United slip further behind Chelsea in the title race.
Ruud van Nistelrooy's early strike from close range put United in front, but Jamie Clapham equalised with a smart left-foot finish.
Wayne Rooney slid the ball home to restore United's lead on 54 minutes.
But substitute Pandiani converted Damien Johnson's cross on 78 minutes to earn Birmingham a share of the points.
United will rue their failure to capitalise on a dominant spell early in the second half, but Birminhgam got their reward for a performance full of endeavour which eased the pressure on manager Steve Bruce.
The visitors were ahead inside four minutes, as Van Nistelrooy held off the challenge of Matthew Upson to fire Kieran Richardson's cross past Maik Taylor and claim his 17th goal of the season.
But Birmingham responded well to the early disappointment and Scholes had to be alert as he jumped to block Stephen Clemence's close-range header.
Jiri Jarosik then forced a good save from Edwin van der Sar with a free-kick before the Blues drew level after 18 minutes with a well-crafted goal.
It was not without controversy as United were incensed as referee Howard Webb did not give a free-kick after Cristiano Ronaldo was tackled.
Birmingham took possession and moved swiftly up the field. Jarosik's ball to Emile Heskey was passed to Clapham whose instant left-foot strike hit Van der Sar and bounced into the net for his first goal for the club.
United came close to restoring their lead shortly after the break when Rooney blazed a shot inches wide.
However, the England striker was on the scoresheet on 54 minutes producing a cool left-foot finish after Van Nistelrooy dummied Alan Smith's pass.
The visitors began to dominate possession and Van Nistelrooy shot wide from a tight angle after Rooney's through pass, while Ronaldo shot wide after a typically mazy run.
Rooney nearly extended United's lead with 15 minutes remaining with an outrageous chip with floated inches over Taylor's goal.
And United were made to regret the miss on 78 minutes when substitute Pandiani pounced to slot in his second Premiership goal of the season after the United defence failed to deal with a free-kick.
Ole Gunnar Solskjaer made his first United appearance in 19 months as an 83rd-minute subsitute for Ronaldo, but was unable to conjure up a dramatic finish on his return.
Birmingham boss Steve Bruce:
"It was a wonderful game of football. You're playing against as good a team as there is in Europe and you need your team to turn up.
"They did, they had a right good go and got a result that I think we deserved.
"I thought we gave as good as we got. It was a great game of football and to be fair, we couldn't have got anything else out of the players."
Manchester United boss Sir Alex Ferguson:
"It was a rousing game, there's no question about that. They worked really hard for their point.
"We're disappointed we have given leads away twice in the game. Our defending for the second goal wasn't good enough but I think a draw was a fair result.
"I think Birmingham did show a great spirit and I think they have to if they want to survive."
Birmingham: Maik Taylor, Cunningham, Martin Taylor, Upson, Clapham (Painter 84), Pennant (Pandiani 75), Clemence (Kilkenny 69), Butt, Johnson, Heskey, Jarosik.
Subs Not Used: Vaesen, Tebily.
Goals: Clapham 18, Pandiani 78.
Man Utd: Van der Sar, Neville, Ferdinand, O'Shea, Richardson (Giggs 86), Fletcher, Scholes, Smith (Park 83), Ronaldo (Solskjaer 83), van Nistelrooy, Rooney.
Subs Not Used: Howard, Pique.
Goals: van Nistelrooy 5, Rooney 54.
Ref: H Webb (S Yorkshire).