We study subvarieties of the flag variety called Hessenberg varieties, defined by certain linear conditions. These subvarieties arise naturally in applications including geometric representation theory, number theory, and numerical analysis. We describe completely the homology of Hessenberg varieties over GLn(C) and show that they have no odd-dimensional homology. We provide an explicit geometric construction which partitions each Hessenberg variety into pieces homeomorphic to affine space. We characterize these affine pieces by fillings of Young tableaux and show that the dimension of the affine piece can be computed by combinatorial rules generalizing the Eulerian numbers. We give an equivalent formulation of this result in terms of roots. We conclude with a section on open questions.