The Prime Minister highlighted some Ukip donors and candidates who had made a “succession” of controversial remarks.
Mr Cameron’s comments came as Ukip took out a full page advert in the Daily Telegraph insisting it was not a racist party.
Mr Farage has faced a storm of criticism following an interview on LBC radio last week where he suggested there was a difference between how people should feel if Romanian or German people moved in next door.
Mr Cameron said: “I think he has said in recent days some really pretty unpleasant things and he has even himself had to admit he got it wrong.
“I will leave others to judge but what I have heard from some of the candidates, some of the donors to the party is a succession of pretty appalling things.
“I would just say to people look, what we need in Britain is not the politics of anger, we need the politics of the answer – how do we get migration better under control, how do we reform our welfare, how do we get the relationship right with Europe.
But Labour MP David Lammy, in a departure from remarks made by his party leader Ed Miliband yesterday claimed Nigel Farage is a racist. Shadow home secretary Yvette Cooper has also referred to Mr Farage’s comments as racist, while senior MP Dianne Abbott has said she is “glad everybody has stopped pussyfooting around”.
Mr 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’”.
But Mr Lammy said: “My parents arrived here as immigrants. I remember a context in which some people said you don’t want these people living next to you. That was racist.
“What Nigel Farage said over the weekend was racist, so I’m clear, he’s a racist.”
In its newspaper advert, Ukip insisted it was not racist but repeated its warning about the risk posed by organised criminal gangs from Romania.
Mr Farage said his comments about people being right to be concerned if a group of Romanian men moved in next door had caused a “predictable storm of protest and accusations of racism”.
The Ukip leader initially stood by his remarks, which came during a bruising interview with radio station LBC, but last night he said: “Do you know what, in life sometimes people get things wrong.”
He said: “I regret the fact that I was completely tired out and I didn’t use the form of words in response that I would have liked to have used.”