A crowd of around 400 people set fire to vehicles and clashed with police late on Sunday after a 33-year-old Indian man was hit and killed by a bus.
Several videos posted online showed a crowd of people smashing the windscreen of the bus while the victim remained trapped under the vehicle.
At least 18 people, including 10 policemen, were injured in the violence
This was the first major riot in the city-state in more than 40 years.
Little India, a precinct of Indian-origin businesses and eateries, is usually packed with people on Sundays, with many construction workers from Bangladesh and India gathering there to spend their day off.
Those arrested face charges punishable by up to seven years in prison as well as caning.
The police said it expects to make more arrests in coming days. About 300 officers were sent on to the streets to quell the riot
The violence followed recent signs of tensions between the country’s citizens and the growing numbers of migrant workers.
In a posting on his Facebook page, Prime Minister Lee Hsien Loong reminded Singaporeans that “the vast majority of foreign workers here obey our laws. We must not let this bad incident tarnish our views of workers here. Nor should we condone hateful or xenophobic comments, especially online.” He also ordered a probe into the incident.
Liberal commentators said the riot strengthened their calls for better treatment of the workers.