Italy has demanded “tough” treatment of Eastern European countries that refuse to accept refugees under the EU’s relocation scheme, saying they should have their funding from Brussels cut.

Matteo Renzi, the prime minister, condemned the stubbornness of countries like Hungary, Poland and Slovakia, which have repeatedly refused to take in refugees, particularly Muslims, saying the newcomers would threaten their national identities and undermine social cohesion.

Since Balkan countries closed their borders in the spring, blocking refugees from reaching northern Europe from Greece, and the EU struck a deal with Turkey to halt the flow of people across the Aegean, Italy has borne the brunt of Europe’s migration crisis.

So far this year more than 144,000 migrants have reached Italy, the vast majority of them arriving in dinghies and decrepit fishing vessels that set out from Libya and Egypt.

The country is struggling to accommodate 160,000 asylum seekers, with towns and cities bridling at the government’s orders to look after the migrants.

“It's necessary that Italy be the promoter of a very tough position toward those countries that have received a lot of money for belonging to the bloc to relaunch their territories, and who are shirking their commitments to relocate immigrants," Mr Renzi told parliament in Rome on Wednesday.