Markov chains are central to the understanding of random processes. This textbook, aimed at advanced undergraduate or MSc students with some background in basic probability theory, focuses on Markov chains and develops quickly a coherent and rigorous theory whilst showing also how actually to apply it. There are applications to simulation, economics, optimal control, genetics, queues and many other topics, and a careful selection of exercises and examples drawn both from theory and practice.