At least 200,000 people have protested against the Czech government in the capital, Prague.
Demonstrators are calling for Prime Minister Andrej Babis to resign over allegations of fraud.
It is alleged Mr Babis used European Union subsidies for his private business – something he denies.
The protest was held on the eve of the 30th anniversary of the Velvet Revolution, which ended communist rule in what was then Czechoslovakia.
Saturday’s demonstration was held in Letna Park, which was also the site of the biggest rallies of November 1989.
Many people have been chanting “we are here” – an echo of the revolution’s protest slogan three decades ago.
And some of the speakers were former dissidents who also addressed the 1989 rallies.
Why are they protesting?
As well as being prime minister, Mr Babis is the billionaire founder of a business called Agrofert – a Czech conglomerate holding company based in Prague.
The group that organised the protest, called the Million Moments for Democracy Association, is demanding that Mr Babis either resign by the end of the year or sever ties with the business.
Speakers at the rally also called for Czech President Milos Zeman to stand down.
“Some of our politicians do not understand why we are here, others do not want to spoil the holidays,” Benjamin Roll, vice chairman of Million Moments, told Reuters news agency.
“The struggle for freedom and democracy never ends.”
While Czech police estimated that about 200,000 people attended the protest, organisers put this figure closer to 300,000.
A symbolic time and symbolic place
By Rob Cameron, BBC News, in Prague
Demonstrators have gathered here in Prague at a symbolic time in a symbolic place.
They’re angry at their prime minister. Prosecutors have recently dropped a criminal case against him but his opponents still want him to resign.
Thirty years ago, of course, the student-led protests were against a brutal totalitarian system. Thirty years on, people are demonstrating against a democratically elected government.
But they say it’s not enough to go to the polls every four years. They see themselves as part of the checks and balances that prevent that democracy from being eroded.
In an interview with local media before the rally, President Zeman denounced the protests as undemocratic.
“I would like to note that Andrej Babis had 1.5 million votes in an election and I had 2.85 million votes,” he said. “Against that the participation at Letna is a small fraction.”
Mr Babis, whose ANO party continues to lead the polls, also said he “can’t understand” the point of the protests against him.
But Million Moments’ leaders have now issued Mr Babis with an ultimatum – either he fulfils their demands or they will continue to stage protests.
Mikulas Minar, one of the group’s organisers, told Czech broadcaster CT24 that any future protests would be “more creative”.