Ricci flow is a powerful analytic method for studying the geometry and topology of manifolds. This book is an introduction to Ricci flow for graduate students and mathematicians interested in working in the subject. To this end, the first chapter is a review of the relevant basics of Riemannian geometry. For the benefit of the student, the text includes a number of exercises of varying difficulty. The book also provides brief introductions to some general methods of geometric analysis and other geometric flows. Comparisons are made between the Ricci flow and the linear heat equation, mean curvature flow, and other geometric evolution equations whenever possible. Several topics of Hamilton's program are covered, such as short time existence, Harnack inequalities, Ricci solitons, Perelman's no local collapsing theorem, singularity analysis, and ancient solutions. A major direction in Ricci flow, via Hamilton's and Perelman's works, is the use of Ricci flow as an approach to solving the Poincare conjecture and Thurston's geometrization conjecture.