An iterative least-squares technique is used to simultaneously invert the strong-motion records and teleseismic P waveforms for the 1978 Tabas, Iran, earthquake to deduce the rupture history. The method solves for both slip amplitudes and rupture times on a finite fault. Several inversions of the data are done to determine the best-fitting hypocenter, average rupture velocity, and source-time function, within the range of our parameter search. The effects of using different data sets and different parametrizations of the problem (linear versus nonlinear) are also considered. Teleseismic body waves are shown to be essential to obtain a reliable solution due to the sparse coverage of the fault plane by strong-motion stations. A simple triangular source-time function is compared with a modified Kostrov source-time function for a circular rupture and a constant propagating stress drop. Although the waveforms used in the inversions can not resolve between these two time functions, the Kostrov source-time function gives a moment estimate and maximum fault displacement more consistent with long-period surface waves and field observations. The results of the iterative inversion for slip amplitudes and rupture times are compared with the results of a linear inversion for slip amplitudes in which the rupture velocity is fixed. Flexibility in the sequence of faulting for the linear inversion is obtained by allowing multiple rupture intervals. A consensus of all the inversion runs indicates a complex, multiple source for the Tabas earthquake, with four main source regions over a fault length of 90 km and an average rupture velocity of 2.5 km / sec.