The Prime Minister has been called a "racist" by opposition MPs after wading into the extremism row embroiling Labour's mayoral candidate Sadiq Khan.

During Prime Minister's Questions, David Cameron accused Mr Khan of repeatedly sharing a platform with an Islamic State supporter The PM struggled to make himself heard when his claim was met with shouts of "racist" from the Labour backbenches.

The incident came after former Labour minister Yvette Cooper said Conservative London Mayor hopeful Zac Goldsmith's "subtle dog-whistle is becoming a full-blown racist scream".

Mr Cameron said: "If we are going to condemn not just violent extremism but also the extremism that seeks to justify violence in any way, it is very important that we do not back these people and we do not appear on platforms with them.

"And I have to say I am concerned about Labour's candidate as Mayor of London, who has appeared again and again and again..."

Mr Cameron was cut off by loud roars from the Labour Party, before adding: "The leader of the Labour Party is saying it's disgraceful. Let me tell him.

"Sulaiman Ghani, Mr Khan has appeared on a platform with him nine times.

"This man supports IS. He even shared a platform... I think they are shouting down this point because they don't want to hear the truth.

"Anyone can make a mistake about who they appear on a platform with. We're not always responsible for what our political opponents say. But if you do it time after time after time it is right to question your judgment."

A senior Downing Street source said Tooting imam Mr Ghani had made a speech on the night of the Paris terror attacks in which he called for the establishment of an Islamic state and had repeatedly called for women to be subservient to men.

The source dismissed accusations of racism as "complete nonsense", adding: "The Prime Minister makes absolutely no apology for raising very serious questions about the people Sadiq Khan has chosen to share a platform with.

"It's a perfectly legitimate thing to do and to try to brand that racism does a disservice to the Labour Party."

Mr Ghani's Facebook page shows a photograph of him with Mr Goldsmith, and reports suggest he has also spoken at meetings in support of Guantanamo detainee Shaker Aamer also attended by Conservative MP Jane Ellison.

But the Downing Street source said: "It is not a question of sharing a platform once or twice, it is on nine separate occasions."

Tooting MP Mr Khan heard about Mr Cameron's comments during an interview by BBC Radio 2's Jeremy Vine.

He told Vine: "I'm not sure what David Cameron is referring to. I've never hidden from the fact that I was a human rights lawyer... I have acted for some pretty unsavoury guys whether charged with a criminal offence or acting for people in other walks, and I've never hidden that, I've actually talked about that.

"That gives me an insight which other candidates don't have. I've never run away from my faith. As I said, the vast, vast, vast majority of Muslims are peaceful and law-abiding and love our way of life."

Labour's former shadow cabinet member Rachel Reeves accused the Prime Minister of descending into "gutter politics".

She told BBC Radio 4's World at One: "The insinuation that Sadiq Khan is somehow a friend of Isis is beyond contempt. He is a man of the utmost integrity. He has taken on extremism in the Islamic community and on many occasions he has fallen out with leaders in the Islamic community.

"Sadiq Khan has always spoken out against intolerance and against extremism."

But Commons Leader Chris Grayling insisted it was "absolutely proper" for Mr Cameron to raise the issue.

"It is nothing to do with Islamophobia," said Mr Grayling. "There are some fantastic people in the Islamic community in London who make a real difference to our capital city and they would have no truck either with people who support Isis. I think it is absolutely proper that this issue is highlighted.

"The question is about judgment, about the people Sadiq surrounds himself with. We have seen a number of issues in recent weeks where there is this question mark."