A notion of curvature is introduced in multivariable operator theory, that is, for commuting $d$ tuples of operators acting on a common Hilbert space whose ``rank" is finite in an appropriate sense. The curvature invariant is a real number in the interval $[0,r]$ where $r$ is the rank, and for good reason it is desireable to know its value. For example, there are significant and concrete consequences when it assumes either of the two extreme values $0$ or $r$. In the few simple cases where it can be calculated directly, it turns out to be an integer. This paper addresses the general problem of computing this invariant. Our main result is an operator-theoretic version of the Gauss-Bonnet-Chern formula of Riemannian geometry. The proof is based on an asymptotic formula which expresses the curvature of a Hilbert module as the trace of a certain self-adjoint operator. The Euler characteristic of a Hilbert module is defined in terms of the algebraic structure of an associated finitely generated module over the algebra of complex polynomials $\Bbb C[z_1,\dots,z_d]$, and the result is that these two numbers are the same for graded Hilbert modules. Thus the curvature of such a Hilbert module is an integer; and since there are standard tools for computing the Euler characteristic of finitely generated modules over polynomial rings, the problem of computing the curvature can be considered solved in these cases. The problem of computing the curvature of ungraded Hilbert modules remains open. NOTE: A more detailed description of these results has been published in Proc. Nat. Acad. Sci. USA, vol. 96, pp. 11096--11099, September 1999, under the title "The curvature invariant of a Hilbert module over C[z_1,...,z_d]", and is available if pdf form from the web site http://www.pnas.org/