Changes in the lability and local environment of Cd sorbed onto calcite, hydroxylapatite and humic acid have been investigated as a function of time (30 min–9 months) using a combination of X-ray adsorption spectroscopy (XAS) and isotopic dilution techniques with Cd concentrations between 1 and 1000 mmol kg −1. Enhanced X-ray absorption fine structure (EXAFS) shows that precipitation of Cd carbonate was initially observed on calcite. Ageing of a 10 mmol kg −1 sample showed replacement of Cd in the fourth shell with Ca, indicating diffusion between the two phases had occurred. This diffusion appeared to be ongoing for a 10 mmol kg −1 sample even after 9 months of reaction. Only 20% of the Cd in a sample with 10 mmol kg −1 Cd remained labile after 6 months of reaction, suggesting a high degree of incorporation into the solid phase, in agreement with the XAS results. The XAS results for hydroxylapatite indicated that Cd is not fixed in the mineral lattice and Cd lability in a sample loaded with 10 mmol kg −1 Cd was ~55% after 6 months of reaction. This indicates that a relatively high proportion of the Cd sorbed to hydroxylapatite remained as kinetically active surface species. Little change was observed in the local environment of Cd adsorbed on flocculated Ca-humate samples as a function of time and ~75% of the Cd remained radio-labile after 6 months of reaction regardless of initial Cd loading. High lability is expected because incorporation into a solid matrix or surface precipitation of a Cd phase is less likely than with the mineral phases.