What is really going on in politics? Get our daily email briefing straight to your inbox Sign up Thank you for subscribing We have more newsletters Show me See our privacy notice Invalid Email

John McDonnell has sparked a furious row after he refused to apologise for attacking a Tory MP's "stain of inhumanity".

The Shadow Chancellor was confronted on live TV today by Esther McVey - and the pair have serious history.

He repeated a joke on stage at a 2014 comedy gig about "lynching" the former employment minister, who was an architect of Tory welfare cuts.

He then refused to apologise last year in Parliament, saying he never made a genuine threat and she was "trying to make herself into a victim".

"The real victims are people such as David Clapsonwho starved to death" after his benefits were cut, he said at the time.

(Image: Peston on Sunday)

"There is nothing to apologise for, and I hope that on 7 May the electorate will remove the stain of inhumanity."

Today he faced Ms McVey, who lost her seat to Labour last year, across the sofa on ITV's Peston on Sunday at Labour's Liverpool conference.

He said he was simply "reporting what was shouted out at a public meeting" when he quoted an activist's complaint that "why aren't we lynching the b******?".

Asked if he wanted to apologise for that or for calling Ms McVey a "stain on humanity" - a different form from the words he used - he said he was expressing "honest anger".

Within minutes Labour MP Yvette Cooper hit out: "It's