Summary: A model of phosphate reaction is constructed and its output compared with observations for the sorption and desorption of phosphate by soil. The model has three components: first, the reaction between divalent phosphate ions and a variable-charge surface; second, the assumption that there is a range of values of surface properties and that these are normally distributed; third, the assumption that the initial adsorption induces a diffusion gradient towards the interior of the particle which begins a solid-state diffusion process. The model closely describes the effects on sorption of phosphate of: concentration of phosphate, pH, temperature, and time of contact. It also reproduces the effects on desorption of phosphate of: period of prior contact, period and temperature of desorption, and soil: solution ratio. The model is general and should apply to other specifically adsorbed anions and cations. It suggests that phosphate that has reacted with soil for a long period is not 'fixed' but has mostly penetrated into the soil particles. The phosphorus can be recovered slowly if a low enough surface activity is induced.