The invention relates to a method for preparing modified biomass charcoal for passivating lead and cadmium in soil. The method comprises the following steps: A, grinding and screening biomass raw materials; B, respectively dissolving FeSO4.7H2O and KMnO4 in water, uniformly mixing, regulating the pH value to 7, thus obtaining iron and manganese oxide suspension; C, adding the ground biomass raw materials into the iron and manganese oxide suspension, uniformly stirring, soaking, drying at the temperature of 105 DEG C for 6 hours, thus obtaining a biomass material loaded with iron and manganese oxides; and D, adding the biomass material loaded with iron and manganese oxides into a reactor, raising the temperature to 450-650 DEG C under oxygen-limited conditions, carrying out a pyrolysis carbonization reaction, thus obtaining the modified biomass charcoal. According to the method disclosed by the invention, the iron and manganese oxides are distributed in the surface and pores of the biomass charcoal, a passivation effect of the biomass charcoal on heavy metals lead and cadmium can be obviously improved, the environmental benefits of the biomass charcoal for treating contaminated soil are effectively improved, and the remediation cost of heavy metal contaminated soil also can be effectively reduced.