Soil heavy metal contamination is a major health issue. Chemical immobilization of toxic metals is a promising technique to solve this issue. In this study, soil was sampled from a copper mining-polluted area in eastern China. Coal fly ash and straw were applied to soil samples at 5 % w/w ratio and 2 % w/w ratio, and incubated for 6 weeks. The CaCl2-extractable Cu, Cd and Zn, phytoavailability and soil microbial activity were measured. The results showed that coal fly ash, straw and the mixture of coal fly ash and straw decreased CaCl2-extractable metals. Coal fly ash or the mixture of the two amendments are therefore efficient metal stabilizers.