Angry Labour MPs accused Mr Cameron of racism during Prime Minister’s Questions in the House of Commons as he detailed Mr Khan’s nine appearances alongside Sulaiman Ghani, who he said was a supporter of the Islamic State terror group.
A senior Labour source later accused the Prime Minister of “demeaning his office”, while Mr Khan himself said he was “disappointed” Mr Cameron had chosen to join a “dog whistling” campaign by London Tories.
Mr Khan, who is bookmakers’ favourite to replace Boris Johnson at City Hall in the May 5 election, has faced repeated claims that he has given the oxygen of publicity to extremist individuals by appearing alongside them, though Conservative candidate Zac Goldsmith stressed he does not accuse his rival personally of extremism.
The Labour candidate told a BBC debate earlier this week that his work as a human rights lawyer and ex-chair of Liberty had brought him into contact with extremists, adding: “I regret giving the impression I subscribe to their views. I have been quite clear that I find their views abhorrent.”
Mr Cameron brought the row to the floor of the Commons in response to a backbench question.
“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 that we do not appear on platforms with them,” the Prime Minister said.
The PM was cut off by loud roars and calls of “racist” from the Labour benches, as he said he was “concerned about Labour’s candidate for mayor of London”, who he said had appeared on a platform “again and again” with Mr Ghani.
As Labour leader Jeremy Corbyn branded the comments “disgraceful”, Mr Cameron continued: “This man supports IS... 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 judgement.”
Labour MP Chuka Umunna accused the PM of joining “Zac Goldsmith’s Islamophobic campaign”, tweeting: “Utterly disgraceful. The PM thinks it is a crime for Sadiq Khan to be a Muslim and have been a human rights lawyer.”
And a senior Labour spokesman said: “I think it demeans the office of the Prime Minister to repeat some of these smears. Sadiq has been very strong on issues around terrorism.
“The people of London will choose the mayor they want. Sadiq is talking about the issues that people in London care about.”
Mr Khan said: “The Tories are running a nasty, dog-whistling campaign that is designed to divide London’s communities. I’m disappointed that the Prime Minister has today joined in.
“As mayor, I will be the British Muslim who takes the fight to the extremists.
“I will keep focusing on keeping Londoners safe, and my positive vision for London’s future - most importantly fixing the Tory housing crisis.”