Almost two decades after the appearance of most of the classical texts on the theory, this fresh introduction offers a reassessment of the main fields, methods and results today. Viewed as a branch of pure mathematics, the theory of finite graphs is developed as a coherent subject in its own right, with its own unifying questions and methods. The book thus seeks to complement, not replace, the existing, more algorithmic treatments, and can be used at various levels. It contains all the standard material for a first undergraduate course, complete with detailed proofs and numerous illustrations. While, for graduates, the text offers proofs of several more advanced results, most of which appear in a book for the first time. These proofs are described with as much care and detail as their simpler counterparts, often with an informal discussion of their underlying ideas complementing their rigorous step-by-step account. Finally, to the professional mathematician, the book affords an overview of graph theory as it stands today: with its typical questions and methods, its classic results, and some of those developments that have made it such an exciting area in recent years.