Elucidation of the co-adsorption characteristics of heavy metal cations and oxyanions on (oxyhydr)oxides can help to better understand their distribution and transformation in many geological settings. In this work, batch adsorption experiments in combination with in situ attenuated total reflectance Fourier transform infrared spectroscopy (ATR-FTIR) were applied to explore the interaction mechanisms of Cd(II) with sulfate or phosphate at the ferrihydrite (Fh)-water interface, and the two-dimensional correlation spectroscopic analysis (2D-COS) was used to enhance the resolution of ATR-FTIR bands and the accuracy of analysis. The batch adsorption experiments showed enhanced adsorption of both sulfate (S) and phosphate (P) on Fh when co-adsorbed with Cd(II); additionally, the desorbed percentages of Cd(II) were much lower in the P + Cd adsorption systems than those in the S + Cd adsorption systems. The spectroscopic results suggested that in the single adsorption systems, sulfate primarily adsorbed as outer-sphere complexes with a small amount of bidentate inner-sphere complexes, while the dominant adsorbed species of phosphate were largely the bidentate nonprotonated inner-sphere complexes, although there was significant pH-dependence. In the co-adsorption systems, the synergistic adsorption of Cd(II) and sulfate was dominantly attributed to the electrostatic interaction, as well as the formation of Fe-Cd-S (i.e., Cd-bridged) ternary complexes. In contrast, Fe-P-Cd (i.e., phosphate-bridged) ternary complexes were found in all of the co-adsorption systems of phosphate and Cd(II); furthermore, electrostatic interaction should also contribute to the co-adsorption process. Our results show that in situ ATR-FTIR in combination with 2D-COS can be an efficient tool in analyzing the co-adsorption mechanisms of anions and heavy metal cations on iron (oxyhydr)oxides in ternary adsorption systems. The co-existence of Cd(II) with sulfate or phosphate can be beneficial for their accumulations on Fh, and phosphate is more efficient than sulfate for the long-term immobilization of Cd(II).