Gareth Ainsworth followed up his impressive draw at Reading on the weekend by leading the team to 3 points against the side topping the table.
Birmingham have now dropped to 2nd place after the 54th minute winner from the Italian.
What made the victory even more dramatic was that Rangers played the 2nd half with 10 men after Mikele Leigertwood's sending off on the stroke of half time.