Estimating crowds is an inexact science, but a sea of faces stretched right down from the statue of St Wenceslas to the bottom of Prague’s longest square.
The protesters carried placards and shouted slogans calling on Mr Babis to resign and take his recently appointed justice minister with him. They’re worried she will frustrate the ongoing criminal prosecution against him.
But while the crowds are huge and growing, their potential to bring about change is debatable. Mr Babis refuses to resign, the president says he won’t fire him even if he is formally charged by prosecutors, and his junior coalition partner seems unwilling – so far – to desert him.
Why are they angry?
Andrej Babis is the Czech Republic’s second richest individual and a former communist.
He came to power in 2017 at the head of the populist ANO (Yes) party on an anti-corruption and Eurosceptic platform, forming a minority government with the left-wing Social Democrats.
In April, police proposed that Mr Babis be charged with EU subsidy fraud, an allegation he has rejected. The justice minister resigned and was replaced by Marie Benesova, who has since become a target for protesters too.
Then a European Commission draft report was leaked last Friday which concluded he should return millions of euros in subsidies.
Mr Babis, 64, had transferred his Agrofert conglomerate to two trust funds two months before he came to power in 2017. The group has interests in food, chemicals and media.
But the 71-page Commission audit found that he was still making profits from the group, because he was the sole beneficiary of the trust funds, and said all EU subsidies received by the company should be returned.
The leaked report said the prime minister had “a decisive influence” over the trust funds and was in conflict of interest.
It estimated the total amount to be paid back at 451m Czech koruna (€17.5m; £15.5m).
When the leaked report emerged, Mr Babis condemned it as a “filthy lie”.