The head-on smash with a lorry carrying rubble happened at around 7:15 am (0615 GMT) in Rochefort in the Charente-Maritime region.
The school bus was carrying about 17 people, and three children suffered minor injuries in the accident, a police source said.
President Francois Hollande expressed his condolences to the victims and their families and said everything possible would be done "to shed light on the causes of this tragedy", according to a statement from his office.
The school bus was carrying 32 children on its daily trip to the village school in Montbenoit when it "left the road", a police source in that case said.