The incident occurred around 9.45 AM when the Moga-bound passenger bus collided head-on with the truck coming from the opposite direction and later rammed into a mini-truck, police said.
According to an eye-witness, the passenger bus first collided with a gunny bag-laden truck and then with a mini-truck after which all three vehicles were damaged.
Of the 31 injured, 29 were rushed to the local Civil Hospital and remaining two, who have been seriously injured have been sent to the Civil Hospital at Jagraon, about 35 kms from here.
The Deputy Commissioner has announced free treatment for the injured.
The drivers of all three vehicles died on the spot and their bodies were found cut into pieces.