The coach was carrying members of a pensioners' club on an excursion when it was involved in a crash with the lorry near the village of Puisseguin among the vineyards of the St Emilion region, east of Bordeaux.
Many of the victims were thought to have died in the fire, according to emergency workers and local authorities.
The lorry driver was also killed along with his three-year-old son who was sitting beside him, said the local police chief.
"I've lost too many people in one go," said Jean Solans, a resident of Petit-Palais-et-Cornemps, the tiny village of 650 where many passengers had boarded the bus.
Also Read
"I lost a brother, neighbours, friends -- it's unthinkable," he said, overcome with emotion.
The plume of smoke could be seen from several kilometres away and many locals said that part of the road was known to be particularly dangerous.
"The driver of the lorry appears to have lost control of his vehicle, leaving him stranded in the middle of the road. The bus driver was unable to avoid the accident," Puisseguin mayor Xavier Sublett told reporters.
Eight people, including the coach driver, managed to escape the burning wreckage. Four of the survivors were seriously injured with burns or head injuries, according to a local official.
"The bus driver was lightly injured. He had the presence of mind to open the doors to allow as many passengers as possible to leave the bus," said Sublett.
"At the risk of his own life, because the flames were burning him, he managed to evacuate a few people."
The crash is the deadliest in France since August 1982, when 53 people including 44 children were killed in a motorway pile-up.
"The French government has fully mobilised after this terrible tragedy," President Francois Hollande said from Athens, where he was on an official visit.
"We are plunged into sadness due to this drama.