Nine months ago they were greeted as heroes, posing for selfies with civilians overjoyed at liberation from a corrupt dictator who plunged the country into economic misery.

But last night Zimbabwean troops were back on the streets of Harare, with bayonets fixed and in armoured cars to impose order with a blunt force that brought back unpleasant memories.

Protesters block a Harare street with a bonfire. Photo: reuters

The fragile hopes that Zimbabwe's first elections since Robert Mugabe was overthrown would be peaceful went up in a pall of black smoke and tear gas.

Police said three were killed in clashes between opposition supporters and security forces in Harare yesterday afternoon. At least one was shot by soldiers, deployed after police were unable to quell the violence.

Tensions have been building since Monday's historic presidential and parliamentary elections, in which Nelson Chamisa of the opposition MDC alliance sought to topple Emmerson Mnangagwa of Zanu-PF, who ousted Mr Mugabe in a coup in November.

Mr Chamisa, who repeatedly accused the country's electoral authorities of colluding with Zanu-PF to falsify the vote, claimed victory shortly after polls closed and said he would not accept any result that favoured his opponent.

MDC supporters began to gather at the party's headquarters in Harare yesterday morning after early parliamentary results gave Zanu-PF a resounding majority.

"We are determined to stay on the streets until we have the real result," said Tereai Obey Sithole. "We are not going to accept any result that is not victory for Mr Chamisa."

But by midday, MDC activists near the headquarters began to chant "Chamisa! Chamisa! We are prepared to die for you!" And "Jambanja! Jambanja!" - the Shona word for war.

By 12.15pm, hundreds of people in MDC regalia had gathered outside the Rainbow Towers hotel, where journalists and observers had gathered to hear electoral officials announce the final results.

Inside, the chairman of the Zimbabwe Election Commission (ZEC) confirmed a landslide for Zanu-PF in the 210-seat parliament. Of 205 seats counted, Zanu-PF took 144 and the MDC Alliance 61.

But Justice Priscilla Chigumba said presidential results could not be released until representatives of all 23 candidates had reviewed the returns and approved them or objected.

She said several representatives had failed to present themselves at the ZEC and appealed to them to do so. It was not clear whether the protesters were aware the announcement had been delayed, but there was fury at the parliamentary results and many lit fires.

"They are saying it is free and fair but it is not fair," said Charles, an MDC activist. "No one told us to come and protest. People are angry."

Within moments, shots were ringing out, the thud and bang of baton rounds and tear gas canisters interspersed with the sporadic automatic fire.

President Mnangagwa issued a statement, blaming Mr Chamisa for the violence in an attempt "to disrupt the electoral process." MDC officials said they were "shocked" by the violence but said the decision to deploy troops was disproportionate and unjustified.