ESPRIT is a recently introduced algorithm for direction-of-arrival (DOA) and spectral estimation. Its principal advantage is that parameter estimates are obtained directly, without knowledge (and hence storage) of the parameter manifold and without computation or search of some spectral measure. This advantage is achieved by exploiting a certain invariance structure for the spatial or temporal signal samples; for example, in DOA estimation, it is assumed that the sensor array is composed of two identical subarrays separated by a known displacement vector. In many applications, arrays are constructed with invariances in more than one spatial direction. These arrays are typically sampled uniformly, so an additional invariance in time may also be present. In this paper, it is shown how to generalize the geometric concepts of ESPRIT to accommodate arrays with multidimensional invariance structure, and consequently to simultaneously estimate multiple parameters (e.g., azimuth, elevation, frequency, etc.) per source. The framework for this generalization is provided by the fact that ESPRIT is equivalent to a least-squares (LS) fit of the single invariance structure to a set of vectors which span the signal subspace (hence the term subspace-fitting). For ESPRIT , the TLS fit requires no constraints. In the multi-dimensional case, however, constraints must be applied in order to obtain an "optimal" solution. We will primarily be concerned with suboptimal methods which approximate the optimal solution. Suboptimal here refers to the fact that the constraints are satisfied by a two-stage procedure rather than simultaneously with the LS fit; i.e., an unconstrained fit is performed first, after which the solutions are "projected" in some sense back onto the constraints.