Turkey elections: Protesters throw stones at Istanbul mayor's campaign bus
Imamoglu was making a speech in the city of Erzurum, in eastern Anatolia, in support of opposition leader Kemal Kilicdaroglu.
Video footage showed stones being thrown at the bus’s windows, forcing Imamoglu, who was speaking from the roof, to go inside for cover. The bus was later forced to drive off.
Images shared by Imamoglu's press team showed the bus windows shattered by the stones.
The mayor tweeted that he had spoken to at least nine people who were wounded during the incident. Images on social media appeared to show a child with a bloodied face as a result of the attack.
Imamoglu said he would file a criminal complaint against the governor and police chief of the city, a conservative stronghold, accusing them of allowing the violent scenes.
In response, Turkey’s Interior Minister Suleyman Soylu said: "Ekrem Imamoglu, who calls the people in Erzurum provocateurs, is himself a provocateur."
In the 2018 presidential election, President Recep Tayyip Erdogan won 72 percent of the votes in Erzurum.
Opinion polls show that Erdogan is likely to face his biggest electoral challenge in his two decades in power.
If Kilicdaroglu wins on 14 May, Imamoglu will take the position of vice president.
Erdogan accused the opposition of being "pro-LGBT" at a rally in Istanbul on Sunday.
"AK Party and other parties in our alliance would never be pro-LGBT, because family is sacred to us. We will bury those pro-LGBT in the ballot box," he told a large crowd of supporters.
Erdogan also accused Kilicdaroglu of getting support from the outlawed Kurdistan Workers Party (PKK), which has been waging an armed insurgency since the 1980s in which more than 40,000 people have been killed.
Erdogan has linked the PKK to the pro-Kurdish HDP, which has thrown its weight behind Kilikdaroglu's candidacy. The HDP denies it is linked to the PKK, which is designated a terrorist group by Turkey, the EU and US.
"My nation will make the necessary response on 14 May. We will not allow Kilicdaroglu, who is hand in hand with terrorists, to divide our homeland," Erdogan said.