Diffeology is an extension of differential geometry. With a minimal set of axioms, diffeology allows us to deal simply but rigorously with objects which do not fall within the usual field of differential geometry: quotients of manifolds (even non-Hausdorff), spaces of functions, groups of diffeomorphisms, etc. The category of diffeology objects is stable under standard set-theoretic operations, such as quotients, products, co-products, subsets, limits, and co-limits. With its right balance between rigor and simplicity, diffeology can be a good framework for many problems that appear in various areas of physics. Actually, the book lays the foundations of the main fields of differential geometry used in theoretical physics: differentiability, Cartan differential calculus, homology and cohomology, diffeological groups, fiber bundles, and connections. The book ends with an open program on symplectic diffeology, a rich field of application of the theory. Many exercises with solutions make this book appropriate for learning the subject.