We present a concrete methodology for saving energy in future and contemporary cellular networks. It is based on re-arranging the user-cell association so as to allow shutting down under-utilized parts of the network. We consider a hypothetical static case where we have complete knowledge of stationary user locations and thus the results represent an upper bound of potential energy savings. We formulate the problem as a binary integer programming problem, thus it is NP-hard, and we present a heuristic approximation method. We simulate the methodology on an example real cellular network topology with traffic- and user distribution generated according to recently measured patterns. Further, we evaluate the energy savings, using realistic energy profiles, and the impact on the user-perceived network performance, represented by delay and throughput, at various times of day. The general findings conclude that up to 50% energy may be saved in less busy periods, while the performance effects remain limited. We conclude that practical, real-time user-cell re-allocation methodology, taking into account user mobility predictions, may thus be feasible and bring significant energy savings at acceptable performance impact.