Thousands of people have defied officials in Kuala Lumpur and taken to the streets in protest at laws that can see people detained indefinitely by the authorities.

Malaysian police used tear gas and water cannon to disperse thousands of protesters.

Almost 600 people were arrested in the biggest demonstration in the country's capital in almost two years.

Up to 10,000 protesters gathered in Kuala Lumpur to demand that the government rescind a law that allows imprisonment without trial, a measure that has in the past been used against the opposition.

Police fired teargas from the tops of buildings in the centre of the capital in an effort to prevent demonstrations from building up.

They also mounted roadblocks in the city, causing huge traffic jams.

Kuala Lumpur Police Chief Muhamad Sabtu Osman said that 589 people had been arrested.

The mainly Malay crowd gathered at the national mosque, chanting ‘Allahu Akhbar (God is greatest)’ and ‘Down with the government.’

Police fired teargas and water cannon to disperse protesters who were marching towards the palace to deliver a memorandum to the king urging him to support the repeal of the Internal Security Act (ISA) detention law.

The police however took a hard stance and one government minister vowed that ISA would never be revoked while the government that has ruled Malaysia for 51 years remained in power.

‘We will keep on arresting until we can shut down this demonstration,’ Deputy Inspector General of Police Ismail Omar said.

The ISA allows for detention without trial and some analysts say it has mainly been used to quell political dissent.