David Cameron today announced Britain is increasing its aid for Syrian refugees to more than £1billion as he hit back at claims that he was refusing to act.

The Prime Minister pointed to figures showing that the UK has already given more than £920million to the humanitarian effort - more than Germany, Netherlands, France, Italy, Hungary, Austria and Poland combined.

He pledged an extra £100million, making it the UK's biggest ever response to a humanitarian crisis.

Only the United States has given more, with some of Mr Cameron's biggest critics in Europe giving a fraction of the funds from British taxpayers.

Only the United States has given more to the humanitarian effort in Syria since 2011 than the UK, according to the Financial Tracking Service

Official figures show that since 2011, the UK has given £918million and pledged a further £1.5million in aid to deal with the impact of violence in Syria which has displaced millions of people.

The figure is much higher than the £633million paid by Germany, and dwarfs the likes of France (£70million), Spain (£21million) and Hungary (£485,000).

Today Mr Cameron went further to announce an increase in Britain's aid spending.

Speaking later in Madrid, the PM said that admitting refugees 'can only ever be part of the answer' to the migration crisis and that a comprehensive approach was needed, including using aid to alleviate suffering in the countries which migrants come from.

No other European country has come close to this level of support Prime Minister David Cameron

'We are already the second-largest bilateral donor of aid to the Syrian conflict, and today I can announce that we will provide a further £100 million, taking our total contribution to over £1 billion,' said Mr Cameron.

'That is the UK's largest ever response to a humanitarian crisis. No other European country has come close to this level of support.

'£60 million of this additional funding will go to help Syrians still in Syria. The rest will go to neighbouring countries, to Turkey, Jordan and Lebanon, where Syrian refugees now account for one-quarter of the population.

'Britain's aid is supporting these camps. If we were not doing that, the numbers attempting the dangerous journey to Europe would be far, far higher.'

Britain's £920million contribution is more than all of Europe combined except Germany, and dwarfs the sums given by some of David Cameron's biggest critics

Mr Cameron's remarks will be seen as a pointed rebuke to EU leaders who have accused Britain of not doing enough to help tackle the refugee crisis

It came as Mr Cameron promised to would welcome 'thousands' of Syrians living in UN refugee camps as he stepped up efforts to tackle the crisis.

The Prime Minister vowed that 'Britain will act with its head and its heart' as he announced plans to dramatically expand a scheme to resettle over 10 times more refugees in the UK.

But crucially, he ruled out playing any part in an EU quota scheme and there will be no move to accept any of the thousands of people who have reached Europe already.

Mr Cameron used a visit to Portugal today to set out a commitment to take 'thousands more' people.

Details of the plan are still being thrashed out, after Downing Street was caught off guard by the extraordinary public and political reaction to harrowing images of three-year-old Ayan Kurdi who died with his brother and mother trying to reach the Greek island of Kos.

In Lisbon, Mr Cameron said: 'We have already accepted around 5000 Syrians and we have introduced a specific resettlement scheme, alongside those we already have, to help those Syrian refugees particularly at risk.

'As I said earlier this week, we will accept thousands more under these existing schemes and we keep them under review.

'And given the scale of the crisis and the suffering of the people, today I can announce that we will do more – providing resettlement for thousands more Syrian refugees.'

He said the policy of taking those from the refugee camps would 'provide them with a direct and safe route to the UK, rather than risking the hazardous journey which has cost so many have lives'.

Mr Cameron announced the plans after holding talks with Portugese Prime Minister Pedro Passos Coelho in Lisbon

It is understood that the number will be in the 'thousands not the tens of thousands' and will see an expansion in a scheme which offers refuge to the most vulnerable fleeing violence in Syria.

Mr Cameron added: 'We know that many are Syrians fleeing the conflict that has raged across their country, killing over 220,000 and forcing more than 11 million people to flee their homes.

'They now face two enemies at home - Assad and ISIL. Britain has a moral responsibility to help refugees as we have done throughout our history.

'We already are providing sanctuary and we will continue to do so.'

The remarks will be seen as a pointed rebuke to EU leaders who have accused Britain of not doing enough to help tackle the refugee crisis.

Germany, Austria and Italy warning that Britain's refusal to take more refugees was causing serious harm to Mr Cameron's chances of renegotiating EU membership.

Austrian Chancellor Werner Faymann said this week: 'The next financial framework negotiations are coming up

'When I think of the British, who have their own catalogue of demands, why should we do anything for them? Because, you have to say, solidarity is not a one-way street.'

Hungarian prime minister Viktor Orban today warned the influx of Muslim migrants was threatening 'Christian roots' and would leave Europeans a 'minority on their own continent'.

Mr Orban described the wave of refugees as 'endless' and warned that 'many tens of millions' more would come if the EU did not protect its borders.