Huseyin Avni Mutlu, Diyarbakir's governor, said 68 people were hurt in the explosion, four of whom had sustained heavy injuries.
The governor said the car bomb had been set off by remote control as a
military vehicle was passing, about 100 metres from a military base and billets.
Al Jazeera's Yusuf al-Sharif, speaking from Ankara, said a large number of passengers were burnt to death inside the bus before rescue workers managed to pull out the bodies.
Police said the explosion blew out the windows of nearby buildings.
Turkey's private NTV news channel said that the death toll could be higher as school students were attending private lessons at a building close to the blast site.
Other sources said the dead included both soldiers and civilians.
Police threw a security cordon around the scene and kept reporters away, saying this was a precaution against a possible second explosion.
Diyarbakir is the biggest city of mainly Kurdish southeast Turkey and home to large numbers of troops who are battling the Kurdistan Workers' Party (PKK) both inside Turkey and in nearby northern Iraq.
Thursday's attack came a day after an explosion in Turkey's commercial centre, Istanbul, left at least three people injured.
The blast in a rubbish bin occurred on Wednesday in Kucukcekmece district, the same area where a homemade bomb went off last week, also in a rubbish bin, killing a woman and injuring half a dozen people.
Tensions in the country are running especially high because as Turkey has been carrying out cross-border military strikes in northern Iraq aimed at the PKK.