A sea of people filled the vast shoreside square in Maltepe on the Asian side of Istanbul for the rally celebrating the culmination of a 450-kilometre "justice march" from Ankara to Istanbul by Republican People's Party (CHP) leader Kemal Kilicdaroglu.
The rally is by far the biggest by the opposition seen in Istanbul since the mass May-June 2013 demonstrations against Erdogan's rule sparked by the planned redevelopment of Gezi Park in the city.
"Nobody should think this march is the last one. It's the first step!" Kilicdaroglu told the crowds who roared back with the cry "Justice!".
"Everyone should know very well that July 9 is a new step, a new history... A new birth," he added.
More From This Section
Usually, only Erdogan himself can mobilise crowds on this scale with glitzy rallies and the president himself had in the past held mass meetings for supporters in the Maltepe meeting area.
But Turkish security forces did nothing to impede the march's progress and 15,000 police officers were deployed to ensure safety at the rally.
CHP officials told AFP that the numbers at the rally could be as high as over two million but this could not be immediately confirmed.
Supporters have compared the trek of the slightly built, mustachioed 69-year-old with Indian independence leader Mahatma Gandhi's famous Salt March of 1930.
The CHP leader reached the outskirts of Istanbul on Friday and was joined by tens of thousands forming a vast file along the road despite blistering heat.
The rally ground is near Berberoglu's prison in the Istanbul district of Maltepe.
Kilicdaroglu had said he wants no CHP insignia at the rally, only "Justice" slogans and pictures of modern Turkey's founder Mustafa Kemal Ataturk.
The opposition chief has dressed every day modestly in a white shirt, dark trousers, with a hat to protect him from the sun. He rested at night in a caravan.
At the rally the huge stage, flanked by pictures of Ataturk and the Turkish flag, had only a single word printed on its canopy -- "Adalet" (Justice) -- in giant letters.
"We marched for justice, we marched for the rights of the oppressed. We marched for the MPs in jail. We marched for the arrested journalists. We marched for the university academics dismissed from their jobs," said Kilicdaroglu.
"We marched because the judiciary is under a political monopoly," he added.
Kilicdaroglu has strongly condemned the failed coup bid -- blamed on US-based preacher Fethullah Gulen, who denies the charges -- but has been bitterly critical of the scope of the state of emergency.
Kilicdaroglu said he was against both a "one man regime" and Gulen.
Turkish police this week detained six suspected members of the Islamic State extremist group planning a bomb attack on the march. But the CHP said it was a routine operation, and was not related to the justice march.