The riot erupted late Sunday in tightly-controlled Singapore's congested Little India district after a 33-year-old Indian worker was run over by a private bus.

Police said about 400 people were involved in the rare outbreak of public disorder, adding that 27 South Asian workers had been arrested on charges of rioting, which is punishable by up to seven years in prison as well as caning.

At least five vehicles including three police cars were torched in the violence. The situation was brought under control after elite police commandos arrived at the scene.

Prime Minister Lee Hsien Loong said "whatever events may have sparked the rioting, there is no excuse for such violent, destructive, and criminal behaviour."

"We will spare no effort to identify the culprits and deal with them with the full force of the law," he said in a statement.

Commissioner of Police Ng Joo Hee also denounced the violence as "intolerable".

"Rioting, destruction of property, it is not the Singapore way," he told a news conference early Monday.

The violence has tarnished multi-ethnic Singapore's long held reputation for public order.

Migrant labour activist Jolovan Wham said it was difficult to determine whether the violence was a symptom of "pent-up rage" among the workers.

"We should not see this 'riot' as just mindless violence which does not reflect the 'Singapore way', as the commissioner for police says," he said. "We'll need to wait for more information before drawing any firm conclusions."

State-linked broadcaster MediaCorp said it was the first riot in Singapore since racial disturbances in 1969.

Singapore depends heavily on guest workers, with labourers from South Asia dominating sectors like construction. Many congregate in Little India on Sundays to shop, dine and drink.

The incident immediately triggered online attacks on foreign workers in Singapore, but officials called for calm and warned against speculation.

Retiree Basher Marican, 69, who was returning home when the riot escalated, said the "crowd was clearly drunk".

"They had beer and liquor bottles in their hands and some were throwing them," he said in Tamil.

"It was very unruly, I walked passed a crowd along the restaurants. There were some who were cheering others as they attacked the bus," he told AFP.