In subway systems, the energy put into accelerating trains can be reconverted into electric energy by using the motors as generators during the braking phase. In general, except for a small part that is used for onboard purposes, most of the recovery energy is transmitted backward along the conversion chain and fed back into the overhead contact line. To improve the utilization of recovery energy, this paper proposes a cooperative scheduling approach to optimize the timetable so that the recovery energy that is generated by the braking train can directly be used by the accelerating train. The recovery that is generated by the braking train is less than the required energy for the accelerating train; therefore, only the synchronization between successive trains is considered. First, we propose the cooperative scheduling rules and define the overlapping time between the accelerating and braking trains for a peak-hours scenario and an off-peak-hours scenario, respectively. Second, we formulate an integer programming model to maximize the overlapping time with the headway time and dwell time control. Furthermore, we design a genetic algorithm with binary encoding to solve the optimal timetable. Last, we present six numerical examples based on the operation data from the Beijing Yizhuang subway line in China. The results illustrate that the proposed model can significantly improve the overlapping time by 22.06% at peak hours and 15.19% at off-peak hours.