In the school bus scheduling problem, the main contributing factor to the cost is the number of buses needed for the operations. However, when subcontracting the pupils’ transportation, unbalanced tours can increase the costs significantly as the lengths of some tours can exceed the daily fixed driving goal and will result in over-hour charges. This paper proposes a mixed integer programming (MIP) model and a matching-based heuristic algorithm to solve the “balanced” school bus scheduling problem with fixed start times in a multi-school setting. The heuristic solution always has the minimum number of buses as it starts with a minimal number of tours and does not alter the number of tours during its balancing stage. The effectiveness of the heuristic is tested by comparing its solutions with results from solving the MIP using commercial solvers whenever solvers could find a good solution. To illustrate the performance of the MIP and the heuristic, 11 problems were examined with different numbers of trips which are all based on two real-world problems: a California case study with 54 trips and the Howard County Public School System with 994 trips. Our numerical results indicate the proposed heuristic algorithm can find reasonable solutions in a significantly shorter time. The balanced solutions of our algorithm can save up to 16% of school bus operation costs compared with the best solution found by solvers from optimizing the MIP model after 40 hours. The balancing stage of the heuristic decreases the standard deviation of the tour durations by up to 47%.