Media captionEmergency services at the scene of the crash in France
The collision happened near Puisseguin in the Gironde wine region, east of Bordeaux, not long after the bus had set off from a nearby town.
French President Francois Hollande tweeted the government ?is fully mobilised on this terrible tragedy?.
This is the worst French road disaster since one in 1982 when 52 people died.
According to French media, the crash happened at around 07:30 local time (05:30 GMT) on a road just outside the village of Puisseguin.
The force of the impact caused both vehicles to ignite.
At least 41 passengers on the bus and the driver of the lorry died in the blaze. Only eight people managed to escape, five of whom are injured.
A large number of those on board the bus were reported to have been members of an elderly people?s association in the nearby town of Petit-Palais-et-Cornemps.
More than 60 firefighters attended the scene. The wounded were airlifted to hospital.
The cause of the crash is not yet clear. One local resident told Sud Ouest newspaper the scene of the crash was a notorious danger spot.
Mr Hollande, who is on a visit to Athens, said he had been ?plunged into sadness by the tragedy? and promised a full investigation.
Prime Minister Manuel Valls, along with the interior and transport ministers are expected to go to the scene.