Johan Elmander put the Trotters in front for the first time after 21 minutes when Fabrice Muamba and Ivan Klasnic combined to let in the Swede, who was unchallenged by Curtis Davies and Martin Jiranek before he drilled a low left-footed shot past Ben Foster.
Cameron Jerome grabbed an equaliser seven minutes before the interval for the Carling Cup holders when he hammered a low shot past Jussi Jaaskelainen and into the corner of the net after David Wheater's clearance dropped back into his path.
After having a goal ruled out for offside, Kevin Davies put the Trotters in front again in the 65th minute when he was brought down in the box by Curtis Davies and got up to send Foster the wrong way from the spot.
However, Nathan Redmond won the ball in the air and evergreen striker Kevin Phillips turned on the edge of the box and volleyed over Jaaskelainen ten minutes from time to level the tie once more.
Bolton were to have the last laugh, though, as Lee sent the 4,300 Bolton fans wild with delight as his header beat Foster with a minute left to end Birmingham's hopes of a cup double.