The Bangladeshi Embassy in Abu Dhabi confirmed 16 Bangladeshis were among those killed in the crash, along with at least one Indian, Gulf News reported. Five bodies hadn't been identified.
Officials said the truck, carrying sand and other construction material, apparently swerved while on the highway from al-Ain, the fourth-largest city in the United Arab Emirates, to Abu Dhabi. Officials said they were unsure whether the bus crashed when it struck the truck or skidded on spilled sand.
At least 24 people were reported injured in the accident about 21 miles from al-Ain.
Witnesses said most of the workers suffocated in the sand and construction material, but Gulf News said the information couldn't be independently verified.
The bodies of the dead were taken to a hospital morgue in al-Ain, while the injured were transferred to several hospitals in the region.