We introduce a method for computing corrections to Bethe approximation for spin models on arbitrary lattices. Unlike cluster variational methods, the new approach takes into account fluctuations on all length scales. The derivation of the leading correction is explained and applied to two simple examples: the ferromagnetic Ising model on d-dimensional lattices, and the spin glass on random graphs (both in their high-temperature phases). In the first case we rederive the well-known Ginzburg criterion and the upper critical dimension. In the second, we compute finite-size corrections to the free energy.