Coal fly ash at 10 and 35% (m/m) was mixed with dewatered sewage sludge (on fresh weight basis) and then the ash-sludge mixture was mixed separately with 1 and 2% (m/m) calcium oxide to kill the entrained pathogens and to suppress the availability of heavy metals enriched in sludge. A sequential extraction method was used to determine chemical forms of Cu, Zn, Ni and Cd in the sludge and fly ash and CaO stabilized sludge. A loamy acid soil amended with sludge and stabilized sludge was used to grow corn under greenhouse conditions. The results showed that sewage sludge amended with coal fly ash and CaO could reduce the availability of Cu, Zn, Ni and Cd in the sludge. Increasing fly ash and CaO amendment rate significantly increased pH and reduced DTPA extractable Cu, Zn, Ni, Cd contents and EC of the sludge. Fly ash and CaO addition significantly reduced the Zn and Cd concentration in exchangeable and total fraction. But add CaO significantly increase the Cu concentration in exchangeable fraction. Majority of Cu was associated with organic form, but Zn and Ni were associated with Fe-Mn oxide and residual forms. Fly ash and CaO addition significantly increase the percentage of Zn and Ni in residual fraction. Addition of 10% fly ash amended sludge and 10% fly ash then 1% CaO amended sludge significantly increased the dry weight yield and decreased the concentrations of Zn, Cu and Cd in shoot of corn. The results demonstrate the beneficial effects of fly ash and CaO addition on suppress the availability of heavy metals enriched in the sludge.