We show that the analogue of Hamilton's Ricci flow in the combinatorial setting produces solutions which converge exponentially fast to Thurston's circle packing on surfaces. As a consequence, a new proof of Thurston's existence of circle packing theorem is obtained. As another consequence, Ricci flow suggests a new algorithm to find circle packings.