We prove that Simulated Annealing with an appropriate cooling schedule computes arbitrarily tight constant-factor approximations to the minimum spanning tree problem in polynomial time. This result was conjectured by Wegener (Automata, Languages and Programming, ICALP, Berlin, 2005). More precisely, denoting by n, m, w(max), and w(min) the number of vertices and edges as well as the maximum and minimum edge weight of the MST instance, we prove that simulated annealing with initial temperature T-0 >= w(max) and multiplicative cooling schedulewith factor 1- 1/l, where l = omega(mn ln(m)), with probability at least 1- 1/m computes in time O(l(ln ln(l)+ ln(T0/w(min)))) a spanning tree with weight at most 1 + kappa times the optimum weight, where 1+ kappa = (1+o(1)) ln(lm)/ln(l)-ln(mn ln(m)). Consequently, for any epsilon > 0, we can choose l in such a way that a (1+ epsilon)-approximation is found in time O((mn ln(n))(1+1/epsilon+o(1)) (ln ln n+ ln(T-0/w(min)))) with probability at least 1 - 1/m. In the special case of so-called (1+ epsilon)-separated weights, this algorithm computes an optimal solution (again in time O((mn ln(n))(1+1/epsilon+o(1)) (ln ln n+ ln(T-0/w(min))))), which is a significant speed-up over Wegener's runtime guarantee of O(m(8+8/epsilon)). Our tighter upper bound also admits the result that in some situations a hybridization of simulated annealing and the (1 + 1) EA can lead to stronger runtime guarantees than either algorithm alone.