An eigenfunction expansion (spectral) method is used to transform a partial differential equation for diffusion with nonlinear adsorption into a system of first-order, nonlinear, ordinary differential equations that are readily solved with standard numerical routines. The nonlinearity is expressed as a polynomial in the dependent variable, which restricts the solution to a high-capacity adsorbent. The technique can be used easily to generate results for solid- and fluid-phase uptake. The addition of terms to the expansion increases the accuracy of the method but also increases the computing time. Nevertheless, this method produces accurate results more efficiently than does the explicit finite difference technique used for comparison