At the Al Quds rally, many people waved the Iranian flag and held placards which said “Choose the right side of history”.
Some demonstrators chanted “from the river to the sea” while others held pictures of the late Iranian leader Ayatollah Ali Khamenei.
Al-Quds Day, named after the Arabic name for Jerusalem, is often held on the last Friday of Ramadan.
It was first held shortly after the 1979 Iranian Revolution. Marches are held around the world, with the largest in Iran.
At the counter-protest on the north bank of the River Thames, a range of different groups gathered, including Stop the Hate, a Jewish-led group set up to campaign against antisemitism, and anti-Iranian regime groups, Lion Guard of Iran and the Free Iran Coalition.
Some people waved Israeli flags, and one sign read “Hamas is terrorist”.
Co-founder of Stop the Hate UK, Itai Galmudy, told the BBC he had advocated for two-and-a-half-years to ban “these hate marches” and he believed “the political pressure finally got to where it needs to be”.
“Allowing them to still stand in front of us and still spew their hate, even if it’s a static protest – that’s not something that should be facilitated in our country,” said Galmudy.
Laleh Tangsiri, from Lion Guard of Iran, said she felt “very disappointed that we are not allowed to march and be a voice for people who are living in terror for 47 years”.