A South African court has annulled a government decision to grant Zimbabwe's former First Lady Grace Mugabe diplomatic immunity in an assault case.

The decision was "inconsistent with the constitution", the court ruled.

Mrs Mugabe was accused of assaulting a young model, Gabriella Engels, in a hotel in South Africa's main city, Johannesburg, in 2017.

South Africa allowed Mrs Mugabe, 53, to return home after she applied for diplomatic immunity.

Mrs Mugabe said at the time that she had acted in self-defence after the "intoxicated and unhinged" model attacked her in a hotel room where her two sons lived.

The alleged assault took place about three months before the military takeover in Zimbabwe which saw Robert Mugabe resign as president after 37 years in power.

The court ruling comes on the same day as Zimbabweans go to the polls in the first vote since Mr Mugabe was ousted.

Ms Engels accused Mrs Mugabe of beating the "hell out of me" with an electric extension cord, in an incident which made international headlines.

The model said she was waiting for Mrs Mugabe's son, Chatunga, when the-then first lady burst into the hotel room and assaulted her, leaving her with a gash on her forehead and other injuries on her thighs.

The opposition Democratic Alliance (DA) said the ruling was a "great day for justice", and an arrest warrant should be issued for Mrs Mugabe.

"The South African government chose to put the politics of expediency above the rule of law," DA chairman James Selfe said.

The government has not yet indicated whether it will appeal against the ruling or accept it.

Lobby group AfriForum, acting on behalf of Ms Engels, challenged the South African government's decision to grant Mrs Mugabe immunity rather than prosecute her.

It said it wanted Mrs Mugabe to be arrested and put on trial if she ever returned to South Africa, where her family reportedly owns properties in upmarket areas.

The South African Police Service (Saps) investigated the alleged assault, but declined to prosecute after then-Foreign Minister Maite Nkoana-Mashabane granted Mrs Mugabe diplomatic immunity.

In papers filed in the High Court, Ms Engels said Ms Nkoana-Mashabane had "misconstrued her powers".

Heads of state who killed or injured people in South Africa did not qualify for immunity under the Foreign States Immunities Act and there was therefore no way that their spouses qualified for it, Ms Engels said.

Ms Nkoana-Mashabane said she had agreed to Zimbabwe's request to give Mrs Mugabe immunity after taking into account "legal considerations" and the need to maintain "inter-governmental relations".

Mrs Mugabe, nicknamed "Gucci Grace" because of her lavish lifestyle, is a controversial figure in Zimbabwe, where she was accused of usurping the powers of her aging husband and of plotting to become the next president.

It led to the military intervening to oust Mr Mugabe, and opening the way for his sacked, deputy, Emmerson Mnangagwa, to take office.