An in-depth account of graph theory, written for serious students of mathematics and computer science. It reflects the current state of the subject and emphasises connections with other branches of pure mathematics. Recognising that graph theory is one of several courses competing for the attention of a student, the book contains extensive descriptive passages designed to convey the flavour of the subject and to arouse interest. In addition to a modern treatment of the classical areas of graph theory, the book presents a detailed account of newer topics, including Szemerédis Regularity Lemma and its use, Shelahs extension of the Hales-Jewett Theorem, the precise nature of the phase transition in a random graph process, the connection between electrical networks and random walks on graphs, and the Tutte polynomial and its cousins in knot theory. Moreover, the book contains over 600 well thought-out exercises: although some are straightforward, most are substantial, and some will stretch even the most able reader.