John McDonnell has made a grovelling apology for his praise of IRA "bravery" and stressed a joke in which he said he would like to assassinate Margaret Thatcher was "appalling".
MP for Hayes and Harlington Mr McDonnell, who was this week appointed Labour's new shadow chancellor under Jeremy Corbyn , was confronted by an audience member over the skeletons in his closet in a heated appearance on the BBC's Question Time.
He faced widespread attacks this week, including from MPs in his own party, over comments he made in 2003 when he said: "It's about time we started honouring those people involved in the armed struggle.
"Because of the bravery of the IRA and people like Bobby Sands, we now have a peace process."
He said his choice of words was a "mistake" but he stood by his attempt to ease extremists away from terrorism without alienating them.
He told the Question Time audience at Brent Civic Centre on Thursday: "I think it needs explaining. In the 80s and 90s, we thought that the bombs and bullets would continue on forever. We lost 3,000 people. I met many of their families on both sides.
"In 2003, we were trying to impress upon all sides that we should sign the peace process, the Good Friday Agreement."
Eyebrows were immediately raised as the Good Friday Agreement was signed four years earlier, and led by higher-profile politicians including Tony Blair.
However, in 2003, it looked at risk of breaking down.
Mr McDonnell said: "And at one point in time it looked as though we were going to lose the peace process and one of the issues was there was a potential for the republican movement to split.
"Many were arguing they would continue what they called the armed struggle and I went out and argued for the peace process and I made this speech to a group of republicans."
He said if republicans felt they were "defeated or humiliated" there would be a return to the dark days of the Troubles.
"I think my choice of words were wrong. I should not have said that," he said.
"I should not have said the issue about the honouring. I said afterwards there's no cause that justifies the loss of life in this way. What I tried to do for both sides was to give them a way out.
"I accept it was a mistake to use those words but if it contributed to saving one life or preventing someone being maimed then it was worth doing.
"If I gave offence, and I clearly have, then from the bottom of my heart I apologise."
He also apologised for his 2010 joke that he would like to "go back to the 1980s and assassinate Thatcher".
Grilled by an audience member he said: "It was an appalling joke. It's ended my career in stand-up, let's put it that way, and I apologise for it as well. It was an off-the-cuff remark."
Prime minister David Cameron blasted the shadow chancellor's comments on the IRA during Prime Minister's Questions on Wednesday.
"I have a simple view which is the terrorism we faced was wrong. It was unjustifiable, the death and the killing was wrong," he added.
"It was never justified and people who seek to justify it should be ashamed of themselves."