Pro-Russian separatists have hoisted the Russian flag on Ukrainian army armoured vehicles in eastern Ukraine, mocking the pro-Western Kiev government's attempt to reassert control on the eve of crucial talks in Geneva on the country's future.

Amid escalating rhetoric between Moscow and Kiev, the incident highlighted defiance by pro-Russian separatists, undermining central government efforts to push armed rebels out of captured buildings in 10 eastern towns without bloodshed.

Government troops had driven armoured personnel carriers flying the Ukrainian flag into the town of Kramatorsk in the early morning after securing control of a nearby airfield from the rebels on Tuesday, prompting Russian President Vladimir Putin to warn of the risk of civil war.

Several of the same vehicles later rumbled into Slaviansk, just 15 km (9 miles) away, with Russian and separatist flags and armed men in motley combat fatigues on top. They stopped outside the town hall, which is occupied by separatists.

As they drove in waving, some people waved back and shouted: "Well done lads" and "Russia, Russia."

A soldier guarding one of six troop carriers now under the control of the rebels said he was a member of Ukraine's 25th paratrooper division from Dnipropetrovsk.

"All the soldiers and the officers are here. We are all boys who won't shoot our own people," he said, adding his men had no food for four days until locals fed them.

A spokesman for the separatists and a witness in Kramatorsk said the Ukrainian troops had given up their vehicles to rebels after talks.

Overhead, a Ukrainian jet fighter carried out several minutes of aerobatics above the town's main square in a show of strength by Kiev's forces. A government official said the Ukrainian Defence Minister was travelling to Kramatorsk to try to clarify the situation.

The muscle-flexing and inflamed rhetoric heightened fears of violence after Moscow-backed gunmen occupied public buildings in 10 eastern towns and cities in the last week.