Six others were seriously injured in the accident on early Tuesday morning, officials told local media.
The accident happened after the truck collided with a tractor and its driver lost control.
Prime Minister Narendra Modi said the loss of lives was tragic.
The workers were from the northern state of Rajasthan and were sleeping after a day's work.
Officials said they were investigating the incident, and the injured were being treated at a local hospital near the city of Surat.
It's not uncommon to see migrant workers sleeping on pavements in Indian cities, and they are often at risk of accidents caused by vehicles.
But it is not just cars. Sixteen people died last year when they were run over by a freight train in the state of Maharashtra after falling asleep on the tracks. They had been attempting to walk to a station, from where they were hoping to take a train home during India's strict lockdown.
Related News