The accident took place Sunday at 2 p.m. in Dazhou.
After the collision, the passenger bus dove into a deep riverbed, and was covered by sand and cobblestones the truck had been carrying, Xinhua reported.
Twenty-four people, including 12 students, were on board the bus at the time of the accident.
Sixteen people were killed at the scene, and another five died after being transported to the hospital.
Authorities said they are investigating the cause of the accident.