Culture Secretary John Whittingdale has said public services are "creaking at the seams" because of the "influx" of migrants as he challenged the Prime Minister over the scale of immigration from the European Union.

Mr Wittingdale wants David Cameron to explain the discrepancy between official figures which suggest that 257,000 EU migrants came to Britain last year, but that also show over the same period 630,000 NI numbers were issued to EU citizens.

In the Commons on Wednesday, Mr Cameron said the reason why the numbers "don't tally" is because you can get an NI number for a "very short-term visit" and migrants already in the country can apply for one.

Mr Whittingdale said: "There is already enormous concern on the basis of the numbers that are published. The suggestion that they may understate the position is a cause for even greater concern.

"I have heard the reasons why National Insurance numbers don't necessarily reflect actual levels, but at the very least that's a debate which we need to have and I can see no reason why we can't have the figures."

He warned that the number of migrants coming to the UK put pressure on housing, education and health.

Meanwhile another pro-Brexit MP, employment minister Priti Patel, said the UK had been "too tolerant" of immigration from the EU and the Government had "no control" over the number coming to the country.

Ms Patel told the Daily Mail that the UK had "become too tolerant".

She said: At the moment, we have no control. People move here from accession states, putting pressure on all our public services. School places is a classic example.

"We've become too tolerant. We've just sat back and accepted it."

She added that pulling out of the EU would allow the UK freedom to spend the money it currently sends to Brussels.

"You could build a hospital or a school with that. Think of all the roads we could build. The potholes we could mend. All the local services."