Coal combustion is a predominant anthropogenic source of atmospheric mercury emissions. The oxidation and adsorption on the surface of fly ashes are crucial to mercury control. In this study, we discussed the mercury adsorption/oxidation mechanisms on the surface of fly ashes and different roles of organic and inorganic compositions based on the experimental results of a fixed-bed reactor and temperature programmed decomposition technique (TPDT). The results indicated that the fly ashes played significant roles in mercury oxidation and adsorption. The residual Cl element on the surface of fly ashes after pretreatment at 650 C contributed to the oxidation and adsorption of mercury. The heterogeneous oxidation process in this study has been confirmed to follow an Eley–Rideal mechanism. Unburned carbon (UBC) is important for mercury oxidation and adsorption on fly ashes. O2 promoted mercury adsorption, but not oxidation. The adsorption capacity was greatly increased in a simulated flue gas, and the oxidation rate was 60%. Al2O3, Fe2O3 and TiO2 were capable of adsorbing mercury. Among these compounds, Al2O3 displayed the largest adsorption capacity. Mercury adsorption did not occur on the surface of CaO and MgO. The flue gas compositions exhibited no influences on the adsorption capacity for the above five metallic oxides. No metallic oxides catalyzed the mercury oxidation regardless of the flue gas composition.