Britain is to take "thousands more" refugees fleeing the fighting in Syria while providing an additional £100 million to support the millions of displaced people in the region, David Cameron has announced.
The Prime Minister said the UK would act with "our head and our heart" with a major expansion of the programme to resettle vulnerable refugees from the camps bordering Syria.
Speaking during a visit to Portugal and Spain, he said that the scheme would avoid the need for the refugees to make the hazardous sea crossing of the Mediterranean to reach sanctuary in Europe.
However, his statement said nothing about helping the tens of thousands who have flooded into the EU and are struggling to make their way across the continent in the hope of claiming asylum in the wealthier nations of the north.
International Development Secretary Justine Greening dismissed the prospect of Britain joining a proposed EU plan to redistribute some 160,000 migrants who have arrived in Italy, Greece and Hungary among the member states.
"We are not committed to doing any quotas," she told BBC Radio 4's World At One. "We think the risk is it simply fuels the people smuggling business."
Mr Cameron - who has been under intense pressure to act after the publication of pictures of the body of three-year-old Aylan Kurdi washed up on a Turkish beach shocked the world - said it was right that Britain responded in the face of a humanitarian crisis.
But he again stressed that simply taking more refugees would not solve the problem and that a "comprehensive approach" was needed to end the conflicts in countries such as Syria and Libya that were causing so many people to flee.
"It is quite clear that when you are dealing with a crisis of that scale that resettling refugees cannot be the answer to the problem," he said.
"But Britain is a moral country with a moral conscience and we respond rightly to humanitarian crises and that is why we will be taking thousands of refugees. But let's not pretend that that alone will deal with the problem."
There was no immediate indication as to how many people would be resettled in the UK under the plan - other than to say that it would run to "thousands more" - although more details are expected when MPs return next week to Westminster following the summer break.
So far, just 216 Syrians have been admitted to the UK under the scheme to help the most vulnerable people in refugee camps, while a further 5,000 have been granted asylum over the past four years.
By contrast, Germany has accepted 35,000 Syrians through a UN scheme for vulnerable migrants, Canada more than 10,000, Australia 5,600 and Switzerland 3,500. Germany expects to take in a total of 800,000 asylum seekers through all routes this year.
Mr Cameron stressed however that the additional £100 million in aid to the region would take Britain's total contribution to more than £1 billion making it the UK's largest ever response to a humanitarian crisis.
"No other European country has come close to this level of support," he said.
However Labour leadership contender Yvette Cooper - who led calls for Britain to take some 10,000 refugees - said the UK should also be offering to help those who had made it to Europe.
"Hundreds of thousands of refugees are already risking their lives trekking across Europe, boarding boats to cross the Mediterranean, or putting themselves in the hands of human traffickers out of desperation. Britain must do its bit to help those refugees too and not turn our backs," she said.
Liberal Democrat leader Tim Farron said Mr Cameron had been "forced kicking and screaming by public outrage" into a U-turn, while former party leader Lord Ashdown accused the Prime Minister of adopting a "diversion strategy".
"Not a single person who is currently fleeing from the battlefield of Syria will be helped by this plan," he said.
Refugee Council chief executive Maurice Wren welcomed the news that the numbers to be resettled are to be increased and called on the Prime Minister to take as many as possible.
"We urge David Cameron to be ambitious about the scale of the increase and be thinking in the tens of thousands in order to make a significant difference to those struggling to survive in the region," he said.
However Ukip leader Nigel Farage said the majority of those crossing the Mediterranean were economic migrants, and warned that jihadists from the Islamic State terror group could be among those admitted in to Europe.
"We must not allow our compassion to imperil our safety," he said.