The Ukip Santa has come two months early. A couple of weeks ago Nigel Farage got his first member of parliament: at prime minister’s questions he appeared to have 650. Well, 649 to be accurate. Douglas Carswell was nowhere to be seen; he must have been off at his shrink to find out how he had suddenly become the most moderate voice in the Commons.

There’s only one thing on the mind of both parties at the moment: next year’s general election. And the race is on to see who can become more Ukip than Ukip. Who do we hate? Immigrants. When do we hate them? Now.

It is normally at least 15 minutes into PMQs before David Cameron’s voice becomes shrill and tetchy, but on Wednesday he was shrieking from the off. Perhaps he had just had a bad morning; perhaps he had choked at the sight of Harriet “No publicity stunts” Harman sitting directly opposite him wearing a “This is what a feminist looks like” T-shirt. To be fair to the prime minister, he wouldn’t be the only one to wonder how soon it will be before the deputy leader of the opposition transmogrifies into Grayson Perry. Or perhaps he had just decided that hysteria was the only reasonable way to deal with immigrants.

“Net migration is down a quarter from its peak under Labour,” he squeaked. “Under Labour, net migration quadrupled and 2.5 million extra people came into our country.”

Ed Miliband paused briefly to channel his inner-Nige, before countering with: “He made a promise of tens of thousands, but it is now 243,000. He published his contract with the British people at the election. On immigration, he said: ‘If we don’t deliver our side of the bargain, vote us out in five years’ time.’ He has broken his promise.” The spectre of 200,000 extra immigrants, each and every one of whom was a murderer, paedophile, rapist or benefits scrounger, was something Cameron couldn’t tolerate.

“It his party who should apologise,” he mouthed, his voice by now at such a high frequency it was only intelligible to a six-year old. “No,” said Miliband cleverly. “It is his party that should apologise.” Then came his killer line. “This government combines callousness with incompetence. They do not show basic humanity, saying that rescuing drowning people is a ‘pull factor’ for immigration, and they are so incompetent that they cannot deliver their basic promises.”

Cameron seemed confused by this. As were the Labour benches. Had it been a call for more immigration, less immigration or just a plea for a more humane approach to drowning immigrants? Was it a sign that a Labour government would give every illegal immigrant in Calais a bathing suit and say that all those who made it to Britain alive would be allowed to stay? After all, they would have at least demonstrated a willingness to work a 23-hour day for less than the minimum wage.

After Miliband sat down, Ian Austin, the Labour MP for Dudley North, resumed where he had been cut off by Keith Vaz in the previous day’s select committee hearing with the mayor of Calais to add his jackboot to immigrants. In a previous life he was parliamentary private secretary to Gordon Brown. No one batted an eyelid. The race to the bottom is on.

Earlier in the session, Cameron had indicated the Tories had already given up on winning the Rochester byelection by announcing there would be a debate on the European arrest warrant before the poll. Not that Farage cares. Whatever the result, he’s already won.