Curved-wave multiple-scattering contributions to XAFS (x-ray-absorption fine structure) are calculated with use of an efficient formalism similar to that based on the plane-wave approximation, but with scattering amplitudes f(\ensuremath{\theta}) replaced by distance-dependent ``scattering matrices'' ${\mathrm{F}}_{\ensuremath{\lambda},\ensuremath{\lambda}\ensuremath{'}}$(\ensuremath{\rho},\ensuremath{\rho}\ensuremath{'}). Here \ensuremath{\rho}=kR, k being the photoelectron wave number and R is a bond vector, while the matrix indices \ensuremath{\lambda}=(\ensuremath{\mu},\ensuremath{\nu}) represent terms in a convergent expansion that generalizes the small-atom approximation. This approach is based on an exact, separable representation of the free propagator (or translation operator) matrix elements, ${\mathrm{G}}_{\mathrm{L},\mathrm{L}\ensuremath{'}}$(kR), in an angular momentum L=(l,m) and site basis. The method yields accurate curved-wave contributions for arbitrarily high-order multiple-scattering paths at all positive energies, including the near-edge region. Results are nearly converged when the intermediate \ensuremath{\lambda} summations are truncated at just six terms, i.e., (6\ifmmode\times\else\texttimes\fi{}6) matrices. The lowest-order (1\ifmmode\times\else\texttimes\fi{}1) matrix ${\mathrm{F}}_{00,00}$ is the effective, curved-wave scattering amplitude, f(\ensuremath{\rho},\ensuremath{\rho}\ensuremath{'},\ensuremath{\theta}), and yields a multiple-scattering expansion equivalent to the point-scattering approximation. Formulas for multiple-scattering contributions to XAFS and photoelectron diffraction are presented, and the method is illustrated with results for selected multiple-scattering paths in fcc Cu.