Jeremy Corbyn insisted he would take a “neutral stance” in an EU referendum under Labour while Boris Johnson was challenged over “racist rhetoric” and trustworthiness during a brutal televised grilling.
The Prime Minister refused to apologise over his use of language and defended Tory austerity during a special episode of BBC’s Question Time on Friday.
The Labour leader also came under fierce scrutiny from voters when he was questioned over fears for businesses, anti-Semitism, misogyny, freedom of speech and Scottish independence.
As they try to tip the balance in the campaign for the December 12 General Election, the leaders of the four main parties were quizzed for half-an-hour apiece.
But the highest levels of groaning and jeering were reserved for the frontrunners in the Sheffield studio.
Mr Corbyn made his clearest comment to date on how he would act in another referendum, which Labour plans to hold between a new deal and the option to Remain within six months of taking power.
Having been asked how anyone could vote Labour without knowing what outcome he would campaign for, Mr Corbyn said that he would start by negotiating a “credible” Leave deal before he was interrupted by laughing.
“And I will adopt, as prime minister, if I am at the time, a neutral stance so that I can credibly carry out the results of that to bring communities and country together rather than continuing an endless debate about the EU and Brexit,” he continued.
Host Fiona Bruce pressed Mr Corbyn on whether he would not pick a side during another referendum, as she brought his time to a close.
“Yes,” he replied. “First heard here on Question Time.”
The Tory PM was asked to apologise and admit he had personally contributed to “racist rhetoric” during his journalistic work.
Ms Bruce challenged him for comparing veiled Muslim women to “letterboxes”, referring to “watermelon smiles” and “flag-waving piccaninnies” and to “tank-topped bum boys”.
Mr Johnson said he “genuinely never intended to cause hurt or pain to anybody and that is my intention”.
But the audience scoffed when he added: “If you go through all my articles with a fine-tooth comb and take out individual phrases, there is no doubt that you can find things that can be made to seem offensive and of course I understand that.”
One junior doctor accused him of “lying to us” as she challenged the Tories’ record on the NHS, while another voter questioned whether he could be trusted.
In his response, Mr Johnson was met with groans when he said the NHS’s demands could only be met when “we get Brexit done”.
He was also challenged over levels of child poverty and how many new hospitals the Tories were planning to build after the scheduled number dropped from 40 to six.
Liberal Democrat leader Jo Swinson denied treating voters as “stupid” over her plans to revoke Article 50 and cancel Brexit without another referendum.
Ms Swinson added: “I don’t think you can accuse us of not being upfront about wanting to stop Brexit. We’ve been crystal clear about that from the very beginning.”
SNP leader Nicola Sturgeon cast doubt on Mr Corbyn’s stance of not allowing another independence referendum in the early years of an administration under his leadership.
She suggested he was not “going to walk away from the chance to end austerity”, and added: “I’m not sure he’s going to compromise the chance to have a Labour government for that issue.”
The audience was made up of around 150 people which, the BBC said, was a roughly equal split between Conservative and Labour supporters with a smaller number for the Liberal Democrats and SNP.
There was a slim majority for people who voted Leave over Remain, except for some who were too young to vote at the last election, the broadcaster added.