The invention discloses an in-situ restoration method for heavy metal polluted soil, which comprises the following steps of: uniformly mixing submicron or nano iron, coal ash, a magnesium-containing preparation and bentonite in proportion by weight of (5-25): (40-50): (1-10): (15-50) to obtain a heavy metal polluted soil restoration agent, after applying the heavy metal polluted soil restoration agent on the surface of the heavy metal polluted soil at the thickness of 1-4cm, uniformly mixing a 20cm thick polluted soil surface layer with the applied restoration agent by plowing, and after 3-6 months, reducing heavy metals such as cadmium, chromium, mercury, lead, arsenic, nickel, zinc, copper, magnesium and vanadium in the heavy metal polluted soil into low-valence immobilized heavy metals to lose biological effectiveness and realize the in-situ restoration for the heavy metal polluted soil. However, the environmental quality of restored soil satisfies the requirements of second-level standard values in Environmental Quality Standards for Soils (GB 15618-1995) in China.