Cameron Jerome kept Birmingham City in a festive mood with a 60th minute winner as the Midlands club remain well on course for promotion after they increased their lead to eight points at the top of the Championship.
Jerome notched his goal just two minutes after replacing Dudley Campbell and, as a result, Birmingham clinched their 11th win in 13 games which is in sharp contrast to the crisis which befell the club in October.
It was also something of a special occasion in as much as Birmingham City celebrated 100 years at St Andrew's with a crucial victory which they hope is the start of a new beginning.
A century ago they moved into St Andrew's after evicting some gypsies off the site and promptly had an infamous curse put on them.
Ever since the second city club have struggled and have never won a major title, but they now hope they have got the gypsy curse off their backs once and for all.
There was certainly a holiday carnival atmosphere in the ground and there was plenty to celebration when Birmingham took a 22nd minute lead.
Rangers, who had been operating the offside trap in an attempt to contain the Birmingham attack, found themselves caught napping following Gary McSheffrey's free-kick which was powerfully headed home by Matthew Upson.
It appeared as if the floodgates would open after this goal but Rangers were in no mood to surrender as they were back on level terms eight minutes later.
Paul Furlong, the former Birmingham striker recalled to lead the attack, laid on a short pass into the path of Lee Cook who hammered his shot powerfully into the far corner of the net.
Birmingham, however, refused to go back onto the defensive and only a brilliant save by Simon Royce kept out a Campbell effort, while Stephen Clemence was inches short of making a connection with Damien Johnson's low cross.
Campbell had a miserable time in front of goal and failed completely to convert a McSheffrey cross six minutes into the second half despite standing only a couple of yards away from Rangers' goal-line.
As a result he was eventually replaced by Jerome and the former Cardiff striker responded by scoring Birmingham's second goal two minutes after being sent on by manager Bruce.
Nicklas Bendtner and McSheffrey combined to set up Jerome and the young England striker had the simple task of guiding the ball home from close range to set up a hectic finish when Rangers strived unsuccessfully for the equaliser.