We analyzed the behavior of heavy metals, such as Cd, Cr, Cu, Ni, Pb, Zn, and Hg, in air pollution control devices of a municipal solid waste incinerator. For this study, a municipal solid waste incinerator with a burning capacity of 2,400 kg/h was selected. A semi-dry reactor (SDR), fabric filter, and wet scrubber were installed to serve as air pollution control devices. Flue gas was sampled upstream and downstream of each air pollution control device to determine the heavy metal concentrations therein. Ash was collected from the furnace, boiler, SDR, and fabric filter to determine the heavy metal concentration in the ash produced by each device. Each heavy metal was found to have a different fate in the incinerator and air pollution control devices. Cd and Pb were mostly present in the fabric filter ash, whereas Cr, Cu, and Ni were most prevalent in the bottom ash of the furnace and boiler, and Zn was present in the bottom and fabric filter ash at a ratio of 7: 3. However, only a few percent of Hg was identified in the ash from the furnace, boiler, SDR, and fabric filter; the majority of Hg passed through the fabric filter and existed in an oxidized form. The wet scrubber exhibited high control efficiency for oxidized mercury, and the injection of commercial activated carbon at a rate of 0.2 g/Sm3 resulted in 93.2% mercury removal efficiency.