Heavy metals from urban stormwater runoff are important sources of surface water pollutants. Sand, zeolite, sandy loam, and quartz-sand were separately mixed with lignin to form four bioretention media mixes for experimental study using synthetic stormwater runoff. The average removal efficiencies of four heavy metals (Cu, Zn, Cd, and Pb) by the four media mixes were all better than 97% at the optimum pH of 6.05 (ranging from 6 to 8) and the seven-day rainfall-event interval. The influence of the influent concentration and the rainfall-event interval on the removal efficiency of heavy metals by the four media mixes was not significant, but the variation of the removal efficiencies at the four-day rainfall-event interval was large. Under acidic conditions, there was a certain heavy metal dissolution in the four reactors, but the effect on the removal efficiency was minor. Heavy metals were present in the media mainly in the form of the residual fraction (>50%). The accumulation of Cu, Zn, and Cd in the surface planting-soil layer (same humus and sandy-loam mixture for all reactors) was significantly larger than the accumulation at deeper depths but not for Pb. Overall, the heavy metal removal efficiencies by the four media mixes were not significantly different, and the choice of the planting-soil layer can become the control factor of heavy metal removal.