David Cameron has urged voters not to be "tempted" by Ukip, saying the eurosceptic party is being "found out" by a succession of rows over unpalatable views.
The Prime Minister accused Ukip leader Nigel Farage of making "appalling" remarks about Romanian immigration but declined to join Labour MPs in branding him racist.
With just two days to go until European elections which Ukip is widely expected to win and push the Tories into third place, Cameron told the Daily Mail his party could deliver what some Ukip backers wanted.
A Romanian family in Number 9? Dave wouldn't mind
Cameron said he would not be uncomfortable to have Romanians as neighbours. "What was wrong with that remark is it just branded all people the same because they come from one country. It was an appalling thing to say."
Cameron told the Mail: "Ukip have condemned themselves during this campaign with a succession of pretty unpleasant remarks. I think the whole country has heard enough to know what sort of party it is.
"Some of the messages have been about trying to frighten people. It's the politics of anger. We've had financial backers and candidates saying black people should go back to Africa, that it's all right to rape your wife."
He said he knew there were "lots of very hard-working, decent people in this country who are tempted by a vote for Ukip.
"They want to see the economy recover faster, they want to see action on immigration, they want a welfare system that encourages work properly and they want a say on Europe.
"I want to deliver all of that. It isn't necessary, to get action on all these things, to support Ukip."
It came as Farage mounted a staunch defence of his warnings about the dangers posed to the UK of unrestricted immigration from Romania, which he said was "in the grip of organised crime".
He argued that he was tackling prejudice as uncontrolled immigration "has bred a new form of racism" across the country which would be reduced by imposing "quality controls" at borders.
But in an interview with BBC2's Newsnight, he conceded that Ukip had been wrong to declare that Romanian gangs were responsible for 7% of crime in the EU.
And he courted fresh controversy by suggesting that it was understandable that older candidates should hold homophobic views as they were brought up at a time when they were taught homosexuality was wrong.
Opinion polls continue to point to a Ukip victory in Thursday's elections to the European Parliament - with the Tories trailing in third place - something Farage calls a political "earthquake".
The Ukip leader said he regretted using the words "you know what the difference is" in his interview on LBC radio on Friday when asked what distinction he was drawing between Germans or Romanians living next door.
"That gave people the impression that I was saying, 'A nod a wink, we don't really like Romanians'. I regret doing that but I do absolutely insist we must have a proper debate about this," he said.
His party earlier took out a full page advert in the Daily Telegraph insisting it was not a racist party and that there was a "real problem" about Romanian criminal gangs.
Farage said Romanians posed "pro-rata by far the biggest threat" but accepted the assertion that 240 Romanian gangs were responsible for 7% of crime was incorrect.
"It was simplified," he told Newsnight of the figure. "It was criminal networks, not crime."
Asked if he believed he was meeting his responsibility as a political leader to foster good race relations, he said: "Uncontrolled immigration has bred a new form of racism.
"All over the country I talk to people who say, 'I hate to say this, I've never felt like this, but I am beginning to feel a degree of enmity towards communities I am living with such is the pace of change'.
"If we have Romanians coming to Britain, on work permits with the necessary checks, then no one would feel if a group of Romanian men moved in next door that there would be a problem.
"So relations between communities would be better not worse."
Farage complained that his party was being singled out for more scrutiny than others, meaning the views of "idiots" in the party had "led to a growing number of people despising Ukip and believing that we are a racist party."
He said he felt hurt by that, adding: "In the last week there have been 17 councillors from the Lib Dem, Labour and Conservative parties arrested for a variety of offences - everything from child pornography to assault.
"You never see those stupidities being national stories."
Farage accepted there were homophobes in his ranks, but added: "Can you name me a party that hasn't, particularly over the age of 70?"
"Roger Helmer is 70," he said of his fellow MEP and the party's candidate in the Newark parliamentary by-election who once said some people find same-sex relationships ''distasteful if not viscerally repugnant".
Asked if that was an excuse, he said: "Just think about this. He was brought up in a traditional biblical for upbringing, he lived as a young man in a country where homosexuality was an imprisonable offence.
"This generation were taught to believe this was wrong and I think many people of that age still find it difficult.
"Roger Helmer is classic of that generation but he now accepts that the world has moved on."
He pointed out that the comments had been made while Helmer was a Conservative.
Party leaders have been careful not to brand Farage a racist amid fears it could alienate voters they hope to win back before the general election in 2015.
Labour leader Ed Miliband condemned the racial slur as "completely out of order" but said politics was "disagreeable enough without political leaders saying about other political leaders 'they are a racist'."