David Cameron will consider pushing for a cap on workers from Europe and make cutting immigration a top priority as he seeks to renegotiate Britain's relationship with Brussels.

The prime minister said the UK needs changes to the way migrants can claim benefits and the number coming over to work, as he set out key areas for discussion with other EU members. Speaking on the BBC's Andrew Marr Show on Sunday, he said all options are on the table in terms of pushing for a cap on the number of immigrants from new entrants to the EU.

His comments come after a row last month when the Liberal Democrats condemned as illegal Home Office proposals to bring in a limit of around 75,000 EU migrants per year.

Cameron insisted he has already made progress on renegotiation, which he wants before putting the issue of Britain's EU membership to a referendum vote by the end of 2017. However, he said much more needs to be done on the issue of immigration and suggested he was willing to raise the issue of a cap in Brussels.

"We need change on claiming benefits, we need changes on free movement. I've said we want to get Britain out of the idea that there's an ever-closer union in the European Union – we don't want an ever-closer union, we want to have trade and co-operation, not an ever-closer union."

After talking about ways to limit immigration from other member states, Cameron was asked about his red lines in negotiations. He replied: "I've already said to you this morning some of the things that we need to sort out. I could add to those we need more flexibility, we need more competitiveness, we need less cost added, particularly to our small businesses. We need to fix all of those things. They will all be part of this renegotiation, and I've given myself – I think rightly – the referendum must be held by the end of 2017. It will be," he said.

Among the changes he wanted to see, Cameron said he would work to stop child benefit being claimed by migrants for their children abroad. "I don't think that is right and that is something I want to change," he said.

"It's a situation that I inherited … I think it will take time because we either have to change it by getting agreement from other European countries – and there are other European countries who, like me, think it's wrong that someone from Poland who comes here, who works hard, and I am absolutely all in favour of that, but I don't think we should be paying child benefit to their family back at home in Poland.

"Now, to change that, you've either got to change it with other European countries at the moment, or potentially change it through the treaty change that I'll be putting in place before the referendum we will hold on Britain's membership of the EU by the end of 2017."

The prime minister said it was also absolutely achievable to stop new members without tighter restrictions on migration in place joining the EU, suggesting he could veto accessions if not. "That is absolutely achievable because every time a new country joins the European Union, there has to be unanimity around the council table in Europe about what the arrangements are. So Britain will be able to insist for future countries joining, we'll be able to insist on a tougher, more robust regime."

Asked whether he would ever campaign for Britain to leave the EU if he does not get what he wants, Cameron insisted his goals were feasible. "I believe I will get what I want. I am launching this process because a) I think it is right for Britain – I don't think the relationship works at the moment, I want it to work better; and b) I think it is achievable because the rest of Europe, because you've got 18 countries now in a single currency, they need change – they need more common taxes, they need more common banking unions – they need change and as they need change we should be able to get change too. So this is doable, it is achievable and it is good for Britain."

Nigel Farage, the Ukip leader, responded on Twitter with a cutting putdown, saying: "David Cameron seems to be trying to sound like me. But the thing is, I believe in what I say." Speaking later, on the Sky News Murnaghan programme, Farage said the coalition was still not doing enough. He suggested that only people earning the national average wage should be allowed into Britain and they should have to wait five years before claiming jobless benefits.

He said: "We should be selective. The single most important criteria should be that we want people coming to this country who have got a skill to bring, who economically are going to earn more than £27,500."