Malaysians clad in the yellow of the reformist Bersih campaign flooded Kuala Lumpur for the second time in 15 months to vent anger over allegations that billions of dollars were looted from state investment fund 1MDB, Najib's brainchild.
Speaking to a crowd of at least 20,000 under the shadow of the capital's giant Petronas Towers twin skyscrapers, Mahathir, 91, accused Najib of stealing public money and said Malaysia was "controlled by thieves".
Malaysia has been seized since last year by the 1MDB scandal, which has sparked investigations in several countries.
Najib, 63, and 1MDB deny wrongdoing.
More From This Section
But the US Justice Department - which has filed lawsuits to seize assets it says were purchased with stolen 1MDB money - says the fund was pillaged in an audacious campaign of fraud and theft that involved an unnamed top Malaysian official.
A Malaysian Cabinet official has since admitted that individual was Najib.
Few expect him to be toppled anytime soon.
Najib yesterday condemned Bersih as an opposition plot "to unseat a democratically-elected government".
Tensions in the Muslim-majority country rose in the rally's run-up due to threats by the "Red Shirts," ethnic-Malay rightists who support Najib, to disrupt the demonstration, but no clashes were reported.
Police yesterday arrested Bersih leader Maria Chin Abdullah and several other figures in an apparent bid to undercut today's protest.
Amnesty International called the arrests "the latest in a series of crude and heavy-handed attempts" to silence dissent.
"We want a clean government. We want fair elections," said Derek Wong, a 38-year-old real estate agent.
"We hope to see Najib removed and charged in court.