Here's an attempt at a sheaf theoretic argument that I always thought would work, but never actually tried:
The intersection # of two transversal submanifolds A and B of complimentary dimension inside a 3rd manifold C can be computed as chi(A (x) B), where I'm using A and B to denote the structure sheaves of the corresponding manifolds, and the tensor product is taking place in C-mod. In the case that the intersection is not transversal, this presumably still works provided you take a derived tensor product (take a flat family moving one of the intersectands to a general position, and use invariance of chi under flat deformation for a perfect complex representing the other intersectand, perhaps?)).
Assuming the above, the self-intersection M.M of the diagonal M in M x M is chi(M (x)^L M). As M is smooth, Tor^i(M,M) = Omega^i. By the additivity of chi, you get:
M.M = \sum_i chi(Omega^i) (-1)^i
On the other hand, de Rham's theorem (or the Poincare lemma?) identifies the right hand side with chi(M,constant sheaf) = chi(M), so we are done.