A man who stabbed a love rival to death and then cut out and ate his heart has admitted he went too far with the gruesome killing.

Andrew Chimboza, 35, launched the bloody attack at the home in Cape Town, South Africa, after he was punched by the householder's boyfriend, Mbuyiselo Manona, 62.

It happened when Manona apparently flew into a jealous rage and accused Chimboza of sleeping with the female occupant of the flat.

According to court reports, Chimboza picked up a fork and stabbed Manona in a frenzy - only realising his victim was dead after he had finished eating the man's heart.

Confusingly, Chimboza claimed he could not explain why he went so far, but claimed in a police statement it was a bid to show he was not homosexual.

"I was so shocked at what the deceased had accused me of I let him hit me but that then made me angry – so I kicked him between the legs, grabbed a fork and stabbed him," Chimboza said.

"I do not know why I ate it and I accept my actions were wrong and exceeded the boundaries of self-defence.

"I sit upon him and stabbed him on the chest, tore out his heart and took a knife and then sliced his heart and then I ate his heart.

"The reason for me to eat the unknown guy's heart was to show him that I am not a moffie [gay] and after I finished eating the heart, I realised he was dead."

Prosecutor Jacqueline Sibiya said: "Because the removal of the heart was not the cause of death per-se, it does not therefore have too much bearing on the plea of murder. It is nonetheless very disturbing."

Chimboza is facing life in jail after admitting murder.