Two people, including a young boy, died in the truck. A total of eight people were injured.
The bus and the truck collided near a forested bend on a two-lane road cut into a hillside near Puisseguin in the Gironde region, about 60 km (35 miles) east of Bordeaux, the local prefect's office said in a statement.
TV footage showed two blackened vehicles, with the bus facing the wood-transporter's trailer, the truck's cab skewed to one side, and scorched vegetation around the site, which was sealed off by police.
The bus was carrying about 50 pensioners south to the Bearn region from their homes in the village of Petit Palais and surrounding hamlets. The crash occurred just a few minutes after the pensioners had boarded the bus.
Among the dead were the driver of the articulated lorry and a young boy who was in the cab, according to the local prefect's office. News reports said the child was about three years old.
The driver of the bus was among the survivors, who were able to exit through the front door he opened, according to a source close to an inquiry that was under way within hours.
The source said the truck apparently veered onto the wrong side of the road as it came around a bend.
A spokesman for the interior ministry said that, as far as he could tell, all the bus passengers were French and from the region.
President Francois Hollande, speaking on a visit to Athens, said he had been "plunged into sadness by the tragedy". Prime Minister Manuel Valls went to the scene.
It was the worst road accident in France since 53 people, mostly children, died in a bus crash in Burgundy in July 1982, according to the independent road safety organization Association Prevention Routiere.
Stricter road regulation and lower speed limits followed, and traffic deaths in France have fallen steeply since. According to official statistics, more than 16,000 people were dying on the roads every year in the early 1970s. In recent years the annual death toll has dropped below 4,000.