The mutual effects of metal cations (Cu2+, Pb2+, Zn2+, and Cd2+) and p-nitrophenol (NP) on their adsorption desorption behavior onto wheat ash were studied. Results suggested that Cu2+, Pb2+, and Zn2+ diminished the adsorption and increased the desorption of NP remarkably, while Cd2+ had no such effect. In contrast, NP diminished the adsorption of Cu2+, Pb2+, and Zn2+ onto ash, however, this suppression effect depended on the initial concentrations of metal cations. NP had no effect on Cd2+ adsorption on ash. Fourier transform infrared (FT-IR) and X-ray absorption spectroscopic (XAS) studies suggested the following mechanisms responsible for the metal suppression effect on NP adsorption: (1) large hydrated Cu2+, Pb2+, and Zn2+ shells occupied the surface of ash and prevent nonspecific adsorption of NP onto ash surface; (2) Cu2+, Pb2+, and Zn2+ may block the micropores of ash, resulting in decreased adsorption of NP; (3) complexation of Cu2+, Pb2+, and Zn2+ was likely via carboxyl, hydroxylic and phenolic groups of wheat ash and these same groups may also react with NP during adsorption. As a "soft acid", Cd2+ is less efficient in the complexation of oxygen-containing acid groups than Cu2+, Pb2+, and Zn2+. Thus, Cd2+ had no effect on the adsorption of NP on wheat ash.