Amari Miller (two, one penalty), Alfie Chang and Callum Sullivan got the goals.
Chang put Blues on level terms in the 15th minute, after a corner was hooked clear.
He took a deft touch to control a dropping ball several yards from the edge of the area before moving forward and finding the bottom corner with a crisp left footer.
After Millwall restored the advantage, Blues drew level once more, just before the break.
It came after a lovely, patient move. Sullivan laid the ball back to Remi Walker inside his own half and he hit a first time pass that split the defence on the right and allowed Josh Williams to race on.
Williams checked back at the byline and passed to Miller, in the area, and he in turn knocked the ball sideways for the oncoming Sullivan, who finished with a sidefooter.
Blues went 3-2 up in the 75th minute through a fine goal by Miller, which came after goalkeeper Brad Mayo grabbed a Millwall corner and quickly struck a long, raking pass towards him just over halfway.
Miller ran at the last defender and had him twisting and turning before fashioning a few extra yards of space in which to shoot - which he did with aplomb, with power across the 'keeper from the right edge of the box.
Blues capped things off from the penalty spot with Miller whipping the spot-kick into the bottom right-hand corner as the 'keeper guessed the wrong way (87).
It was awarded after Miller scooped the ball across and Marcel Oakley, up in support after continuing his run inside, was bumped over as a defender rose to an aerial challenge with too much contact.
Blues: Mayo, Oakley, Djurovic, Chang, Craig, Browne, Walker, Williams, Sullivan (Patterson ht), Hall, Miller. Subs not used: Brooks, Fogarty.