Sorption and desorption studies of cadmium (Cd), copper (Cu), nickel (Ni) and zinc (Zn) were carried out at the pH range of 2 to 9 by a soil amended with three sorbents including bentonite, calcite and zeolite. A geochemical computer model was used to simulate the sorption of metals by control and amended soils as influenced by pH. Metals sorption on control and amended soils was dependent on pH, and increased with increasing equilibrium pH. Furthermore, metals sorption on soil amended by sorbents was greater than control, indicating the increase of soil sorption capacity by adding sorbents, while their desorption decreased. The modeling results indicated that the sorption of metals was modeled successfully using the ion exchange and surface complexation reactions. In general, the maximum sorption of metals was observed by bentonite-amended soil and calcite-amended soil, whereas the maximum desorption of all metals obtained in zeolite-amended soil, suggesting that the sorption of metals on zeolite was based on the reversible mechanism. In general, the sequence of metals sorption at pH 2 to 9 for all treatments was in order of Cu > Zn > Cd≥Ni. In addition, this sequence was observed mostly for metals activity and desorption (occasionally an exchange in the positions of Cd and Ni) but with an inverse trend. Results indicated that distribution coefficient (Kd) increased with increasing pH and, in particular, had a sharp increase at the neutral to alkaline pH.