Some of the heavy metals in coal and wastes vaporize during combustion, concentrate in fine particulates, and emit with the flue gas into the atmosphere, to produce adverse effect on environment and health. This study first investigates the fate of the heavy metal species, especially Pb, Cd and Cr, known as semi-volatile, in various flue gases, especially in the presence of HCl and SO2, by chemical equilibrium calculation, in which, Si and Ca were proposed as base sorbent materials to capture Pb, Cd and Cr. Then Si-and Ca-based compounds as well as waste materials used as sorbents were optimized to capture the heavy metals. Finally, the optimal sorbent was tested in actual burning of dried sewage sludge as solid fuel, to evaluate the effectiveness of the sorbent. Calculated results show that Cl increases the volatility of most heavy metals, while SO2 enhances formation of condensed phases. Among the sorbents tested, kaolin appears most efficient to capture Pb and Cd. For sludge combustion with kaolin addition, both Pb and Cd were shifted from sub-micron to macro-sized particles, and accompanied by considerable decrease of 0.1 m particles.