The blast happened next to a passing military vehicle, in an area close to parliament and Turkey’s military headquarters.
Large plumes of smoke were seen rising from the area and witnesses said the blast was heard all over the city.
Deputy Prime Minister Bekir Bozdag called it an “act of terrorism”.
The Ankara’s governor office said the explosion was caused by a vehicle full of explosives that was detonated as military buses were passing by.
Ambulances and fire engines were sent to the scene.
Turkey’s Prime Minister, Ahmet Davutoglu, has cancelled a trip to Brussels, the Reuters news agency reported.
Turkey has been hit by a serious of attacks recently, and there have been increasing concerns that the country could be targeted by another big attack, the BBC’s Selin Girit in Istanbul said.
Last October, an attack at a peace march left at least 99 people dead in Ankara.
Turkey has become more involved in the Syrian conflict and has faced security threats from different groups, including IS and the outlawed Kurdistan Workers’ Party (PKK).