Cartesian differential categories are categories equipped with a differential combinator which axiomatizes the directional derivative. Important models of Cartesian differential categories include classical differential calculus of smooth functions and categorical models of the differential $\lambda$-calculus. However, Cartesian differential categories cannot account for other interesting notions of differentiation of a more discrete nature such as the calculus of finite differences. On the other hand, change action models have been shown to capture these examples as well as more "exotic" examples of differentiation. But change action models are very general and do not share the nice properties of Cartesian differential categories. In this paper, we introduce Cartesian difference categories as a bridge between Cartesian differential categories and change action models. We show that every Cartesian differential category is a Cartesian difference category, and how certain well-behaved change action models are Cartesian difference categories. In particular, Cartesian difference categories model both the differential calculus of smooth functions and the calculus of finite differences. Furthermore, every Cartesian difference category comes equipped with a tangent bundle monad whose Kleisli category is again a Cartesian difference category.