We have investigated the effect of differences in surface charge, valency of ion, solute concentration, solution flux and physical structure on the leaching and uptake of individual ions from simple solutions flowing through porous materials. We studied the miscible displacement of solutions of four salts (KBr, K2SO4, CaBr2 and CaSO4) having different cation : anion ratios separately through three inert materials (ballotini, pumice and ceramic) and two sizes of a reactive material (sepiolite) over several ranges of concentration (c) and at many pore-water velocities (v) under steady vertical saturated flow. Breakthrough curves of individual effluent ions (K+, Br-, Ca2+ and SO4 2-) were analysed by CXTFIT 2.0 to optimize transport parameters (retardation factor, R; dispersion coefficient, K) assuming that transport was governed by the convective-dispersion equation. In the inert materials, R did not differ significantly from 1 irrespective of c. In sepiolite, R was < 1 for anions and > 1 for cations, and became more extreme as c decreased. R varied with the valency of the anions, as predicted by diffuse double layer theory, and with that of the cations by a simple charge balance. Freundlich isotherms, reconstructed from R values, described the sorption of the cations and exclusion of the anions. For the inert materials, K did not depend on the ion or c and increased monotonically with v. For sepiolite, K also increased with v and with small but non-significant differences between ions and concentrations. The K(v) functions were consistent with Passioura's theory of dispersion in aggregated media, and the transport was reversible as R and K values did not depend on whether the media were being leached or resalinized. The effective dispersion coefficient of an ion is K* = K/R so, although K(v) appears to be unaffected by ion or concentration of solute in sepiolite, K*(v) will be affected. Thus, the controlling factor of these surface-solute interactions is R.