In this paper, we propose a novel optimization-based real-time residential load management algorithm that takes into account load uncertainty in order to minimize the energy payment for each user. Unlike most existing demand side management algorithms that assume perfect knowledge of users' energy needs, our design only requires knowing some statistical estimates of the future load demand. Moreover, we consider real-time pricing combined with inclining block rate tariffs. In our problem formulation, we take into account different types of constraints on the operation of different appliances such as must-run appliances, controllable appliances that are interruptible, and controllable appliances that are not interruptible. Our design is multi-stage. As the demand information of the appliances is gradually revealed over time, the operation schedule of controllable appliances is updated accordingly. Simulation results confirm that the proposed energy consumption scheduling algorithm can benefit both users, by reducing their energy expenses, and utility companies, by improving the peak-to-average ratio of the aggregate load demand.