A spatial semi-discretization is developed for the two-dimensional depth-averaged shallow water equations on a non-equidistant structured and staggered grid. The vector identities required for energy conservation in the continuous case are identified. Discrete analogues are developed, which lead to a finite-volume semi-discretisation which conserves mass, momentum, and energy simultaneously. The key to discrete energy conservation for the shallow water equations is to numerically distinguish storage of momentum from advective transport of momentum. Simulation of a large-amplitude wave in a basin confirms the conservative properties of the new scheme, and demonstrates the enhanced robustness resulting from the compatibility of continuity and momentum equations. The scheme can be used as a building block for constructing fully conservative curvilinear, higher order, variable density, and non-hydrostatic discretizations.