This paper deals with the train scheduling problem for metro networks taking into account time-dependent passenger origin–destination demands and train speed profiles. The aim is to adjust train schedules online according to time-dependent passenger demands so that passenger satisfaction and operational costs are jointly optimized. An extended passenger absorption model that explicitly includes time-dependent passenger origin–destination demands is developed, where the term “absorption” refers to passengers boarding trains. Then, the passenger absorption model is extended to a bi-level framework, where passenger demands and rolling stock availability are considered at the higher level, and detailed timetables and train speed profiles are included at the lower level. A bi-level model predictive control (MPC) approach is developed for the integrated problem. The optimization problems of both levels of the bi-level MPC approach can be converted into mixed-integer linear programming (MILP) problems, which enables us to solve them with existing MILP solvers. We then show that the recursive feasibility of both the higher-level and the lower-level optimization problems can be guaranteed. In this way, we can achieve real-time train scheduling for the metro system. Numerical experiments, based on real-life data from the Beijing metro network, illustrate the effectiveness of the extended passenger absorption model and the proposed bi-level MPC approach.