Graph theory meets number theory in this stimulating book. Ihara zeta functions of finite graphs are reciprocals of polynomials, sometimes in several variables. Analogies abound with number-theoretic functions such as Riemann/Dedekind zeta functions. For example, there is a Riemann hypothesis (which may be false) and prime number theorem for graphs. Explicit constructions of graph coverings use Galois theory to generalize Cayley and Schreier graphs. Then non-isomorphic simple graphs with the same zeta are produced, showing you cannot hear the shape of a graph. The spectra of matrices such as the adjacency and edge adjacency matrices of a graph are essential to the plot of this book, which makes connections with quantum chaos and random matrix theory, plus expander/Ramanujan graphs of interest in computer science. Created for beginning graduate students, the book will also appeal to researchers. Many well-chosen illustrations and exercises, both theoretical and computer-based, are included throughout.