Seismic waveforms are inverted using an asymptotic method. The asymptotic method models amplitudes correctly at the caustics and takes nonstationary raypaths into account when computing the waveforms, and thus is an extension of geometrical ray theory. Using numerical differencing, partial derivatives of the data with respect to the model are computed. As expected, these partial derivatives (or sensitivity functions) are concentrated along, but not confined to, raypaths. The sensitivity functions enable the formulation of a waveform inversion algorithm, which is applied to a synthetic crosswell experiment and a laboratory crosswell experiment. The synthetic experiment shows the advantages of the waveform inversion method over conventional traveltime inversion methods. Boundaries of anomalies are better defined, and smearing is reduced. The waveform inversion produces a much lower misfit than the traveltime inversion. The goal of the laboratory experiment was the detection of a nonaqueous phase liquid (NAPL) in water saturated sand. The sand was imaged before and after injection of the NAPL. Using the waveform inversion method, low-velocity anomalies were imaged that correlate well with post-experiment determination of NAPL concentrations. The low-velocity anomaly defocuses the seismic energy. However, the amplitude reduction due to the low-velocity anomaly is not enough to explain the observed low amplitudes. We suggest that other mechanisms (such as multiple scattering, 3-D effects, or intrinsic attenuation) not included in the asymptotic waveform modeling play an important role in decreasing the amplitude.