In two seminal papers M. Kontsevich introduced graph homology as a tool to compute the homology of three infinite dimensional Lie algebras, associated to the three operads `commutative,' `associative' and `Lie.' We generalize his theorem to all cyclic operads, in the process giving a more careful treatment of the construction than in Kontsevich's original papers. We also give a more explicit treatment of the isomorphisms of graph homologies with the homology of moduli space and Out(F_r) outlined by Kontsevich. In [`Infinitesimal operations on chain complexes of graphs', Mathematische Annalen, 327 (2003) 545-573] we defined a Lie bracket and cobracket on the commutative graph complex, which was extended in [James Conant, `Fusion and fission in graph complexes', Pac. J. 209 (2003), 219-230] to the case of all cyclic operads. These operations form a Lie bi-algebra on a natural subcomplex. We show that in the associative and Lie cases the subcomplex on which the bi-algebra structure exists carries all of the homology, and we explain why the subcomplex in the commutative case does not.