Britons basking on faraway beaches this winter will find the best bargains in Bali followed by Cape Town and Sri Lanka, according to a Post Office Travel Money survey.

A basket of 10 items including an evening meal for two will cost just £40 in Bali this winter, the survey of long-haul destinations showed.

The items, which include a bottle of beer and a glass of wine, cost £47 in Cape Town where the South African rand has weakened against sterling, and just under £50 in Sri Lankan resorts.

In contrast, the 10 items cost as much as £161 in Dubai - the most expensive of the 34 destinations surveyed and where prices have rocketed 64% since last year.

Also on the pricey side was Singapore (£155 for the items), Auckland in New Zealand (£133) and Muscat in Oman (£126).

While a three-course meal for two with a bottle of wine was just £27 in Bali, it would set a couple back nearly £114 in Singapore and more than £99 in Dubai.

The survey, in conjunction with holiday company Travelbag, showed that in the last 12 months the long-haul destinations where the local currency has fallen most against the pound were Gambia, South Africa, Jamaica and Japan.

Prices in resorts have fallen the most in Costa Rica, followed by Japan, Gambia, Mauritius and China.

But as well as the hike in costs in Dubai, prices have gone up in a number of other resorts, with hefty increases in Antigua (up 48%), Muscat (up 48%) and Vietnam (up 39%).

Andrew Brown of Post Office Travel Money said: "It all adds up to a polarised picture for UK holidaymakers. On the one hand there are great savings to be made in popular long haul resorts and tourists will be 'quids in'.

"On the other, people who make the wrong destination choice could fall victim to much increased resort prices and find themselves out of pocket."