David Cameron must allow more refugees into the country or Britain risks becoming a pariah state that will be ashamed of its inaction in Europe's migration crisis, his opponents have said.
Their comments came as shocking photographs of a dead Syrian child washed up on a beach were published by the Independent.
Earlier, Mr Cameron insisted that taking in more refugees would not solve the migration crisis, but Labour and the Liberal Democrats rounded on the Prime Minister, saying Britain must act and that "enough is enough".
They spoke after the Independent published images of a small boy lying face down and dead in the sand in Bodrum, Turkey - one of 11 Syrian refugees feared dead after drowning while trying to cross the Mediterranean on two boats bound for the Greek island of Kos
Shadow home secretary Yvette Cooper, who has called for the UK to take in 10,000 extra refugees, said the Government cannot keep turning its back on the heartbreak unfolding across Europe.
The Labour leadership candidate said: "When mothers are desperately trying to stop their babies from drowning when their boat has capsized, when people are being left to suffocate in the backs of lorries by evil gangs of traffickers and when children's bodies are being washed to shore, Britain needs to act.
"It is heartbreaking what is happening on our continent. We cannot keep turning our backs on this. We can - and must - do more. If every area in the UK took just ten families, we could offer sanctuary to 10,000 refugees. Let's not look back with shame at our inaction."
Meanwhile, Lib Dem leader Tim Farron said: "There is a humanitarian crisis on our doorstep but we are disengaged, cold, and irrelevant. We must take our fair share of refugees.
"Cameron's chances of winning meaningful concessions ahead of an EU referendum will disappear fast if he makes our country a pariah - turning his back on our neighbours and desperate refugees.
"His actions are not just morally wrong, they are politically foolish."
Problem tackled at source
The pair spoke after Mr Cameron ignored German warnings that his EU renegotiation plans could be harmed if Britain refused to take in more refugees.
The PM instead insisted that the problem must be tackled at source.
He said: "We have taken a number of genuine asylum seekers from Syrian refugee camps and we keep that under review, but we think the most important thing is to try to bring peace and stability to that part of the world.
"I don't think there is an answer that can be achieved simply by taking more and more refugees."
Mr Cameron added: "We are taking action right across the board, helping countries from which these people are coming, stabilising them and trying to make sure there are worthwhile jobs and stronger economies there.
"We are obviously taking action at Calais and the Channel, there's more that we need to do and we are working together with our European partners as well. These are big challenges but we will meet them."
Mr Cameron also faced pressure from former foreign secretary David Miliband, who called for the UK to take its fair share of refugees as it did when it gave sanctuary to thousands of Europeans who fled persecution in the 1940s and 1950s.
"What applied to Europeans then should apply to Africans and Asians today. We cannot say UN conventions apply to one group of people and not to others," he told the Guardian.
Mr Miliband suggested the "incorrect" description of refugees as "migrants" was politically convenient as it implies that people are leaving their countries in search of a better life rather than being forced to flee from bombs and bullets.
He said: "It's been too convenient to misname it as a migrant crisis, because it suggests these people are voluntarily fleeing, whereas in fact - if you've been barrel-bombed out of your home three times, life and limb demand that you flee.
"It's not about being politically incorrect in using the term migrant. It's simply incorrect."
Germany, which says it will accept 800,000 asylum seekers this year, has also indicated that Britain needs to do more, having received considerably less at 25,771 asylum applications in the year ending June 2015.
Stephan Mayer, a spokesman for German chancellor Angela Merkel's CDU/CSU alliance, said Britain's failure to accept more refugees could hurt Mr Cameron's plans to renegotiate the country's relationship with the EU.
German ambassador Peter Ammon said Mrs Merkel expects Britain to do its fair share.
He told BBC Radio 4's World At One: "Britain has taken in refugees for centuries and I think not to your disadvantage and I think we will expect that all partners will make their best efforts to contribute to the solution of this problem."
Mr Ammon added: "Everybody knows how we feel about it and I think it's almost self evident."