Fly ash carbonation is a feasible alternative method for CO2 reduction and heavy metal stabilization. There are four main mechanisms for fly ash carbonation to stabilize heavy metals. However, due to differences in heavy metals and fly ash, the stability of heavy metals is also different. Especially, the properties of supercritical CO2 are greatly changed compared with those of non-supercritical CO2, and the influence of this change on the four mechanisms is still unclear. In this paper, carbonation experiments of different fly ash were conducted in the transition from non-supercritical to supercritical, and leaching characteristics of Cu, Zn, Pb, Cr, Cd, and Ni were investigated to explore stabilization mechanisms. Our research showed that physical encapsulation was a physical phenomenon that had stabilizing effects on all heavy metals. Chemical reaction was aimed at heavy metals that reacted with CO32-. Pb, Zn, and Cu belonged to the isomorphism with Ca, and adsorption precipitation was formed by the isomorphism substitution during carbonation process. Supercritical CO2 enhances the three mechanisms. And mechanical force broke up sintered surface of fly ash, exposing more active sites to enhance the three mechanisms. On the other hand, under supercritical state, the solubility of CO2 increased, resulting in the speciation transformation of heavy metals. Under the above mechanisms, there were two trends regarding stability of heavy metals in fly ash. One trend was a gradual increase in stability, and the other trend an initial increase in stability followed by a peak at the critical point and then a decrease.