TV footage shows scenes of panic and people lying on the ground covered in blood, amid protest banners.
The blasts took place near the city’s central train station as people gathered for a march organised by leftist groups.
Government officials say the blasts were a terrorist attack, and are investigating reports that a suicide bomber was behind at least one of the explosions.
Who are the kurds?
Prime Minister Ahmet Davutoglu is being briefed by the interior and health ministers, state news agency Anadolu says.
The pro-Kurdish HDP party was among those attending the rally.
The leader of the HDP has blamed the state for the attack, and cancelled all election rallies.
Turkey is holding a re-run of June’s inconclusive parliamentary elections on 1 November.
The HDP was among those joining Saturday’s rally for “peace and democracy”, called for by the confederation of trades unions, which was due to start at 12:00 local time.
The party tweeted that there were “numerous dead and injured”, and that police “attacked” people carrying the injured away.
Local resident Emre told the BBC that he heard two separate explosions and saw a number of dead bodies. Angry people tried to attack police cars, he said.
An HDP rally in the city of Diyarbakir was bombed in June, ahead of general elections in which the party entered parliament for the first time.
The BBC’s Mark Lowen in Istanbul says it was feared that another similar attack was imminent, as voters prepare to go to the polls once more.
A suicide bombing by suspected Islamic State Millitants on a gathering of Socialist youth activists in the town of Suruc on the Syrian border killed at least 30 people in July.
A ceasefire between the Kurdish militant group the PKK and Turkey’s government later broke down, and there have been regular attacks from both sides since then.