© Getty Images
The home side had the chance to take the lead early on after Jesse Lingard was brought down in the box, giving the on-loan Manchester United man a chance from the penalty spot, but his effort was saved by David Forde.
Murphy was on the score sheet again before half time, drilling the ball past Forde from a free kick less than a minute after the Millwall keeper stopped a Chris Burke shot.
A chance for a fourth followed five minutes later, but Forde was able to force Nikola Zigic's header wide.
Murphy had the opportunity to complete his hat-trick late on, but the defender saw his finish saved by Forde, before he was substituted.
However, Birmingham did add to their score late on, as Lingard made up for his earlier miss from the spot with a header from close range.