The Estonian capital of Tallinn has emerged as the best value European pre-Christmas shopping break.

The city has took top spot in an annual survey of 11 European cities for the first time since 2012.

At £538, the price for a two-night break for two was a third cheaper than in Stockholm (£801), which was most expensive in the survey conducted by Post Office Travel Money.

Tallinn’s barometer total – comprising return flights, bed and breakfast accommodation, airport-city centre transfers, two evening meals for two with wine, coffee, festive drinks and also snacks at the Christmas Market – is 4% cheaper than a year ago, despite the weakened pound.

Although sterling is worth 18% less year-on-year against the euro, tourists visiting Tallinn will find that local prices have fallen by 10% and the cost of a two-night package is more than 10% lower as well.

Riga, capital of Latvia, is the second best bargain option for UK shoppers because its barometer total of £547 is just 3% higher than 12 months ago.

Andrew Brown, of Post Office Travel Money, said: “The great value available in these two Baltic capitals helps to dispel the idea that UK tourists will be seriously out of pocket wherever they travel abroad after sterling’s slump in value.

“Of course, this is not the case everywhere in Europe so the challenge for people planning trips in the coming weeks will be to do their homework and book a destination offering a combination of good value package prices and low costs for meals and drinks.”

The high cost of a Christmas markets package means Budapest (£634), last year’s best value break, has dropped to sixth place behind Prague, Munich and Lille.

Although the Hungarian city is still cheapest for meals, drinks and transfers at one-third (£89.96) of the cost in Stockholm (£298.69) or Copenhagen (£305.94), it was the most expensive city for a flight and accommodation package (£544).

Munich emerged as the best value for a festive break in western Europe. While meals and drinks cost more than in the east, Munich’s package price was the cheapest of the 11 cities.

As a result, the overall barometer cost for the German city at £609 was £142 lower than in neighbouring Austria, where a two-night break for two was priced by the Post Office at £751, as well as being £25 cheaper than Berlin (£634).

Prague at £582 scored well due to the low cost of eating out in the Czech capital. However, the higher cost of flights and accommodation researched by Post Office Travel Money – over £100 more than for a trip to Riga – kept Prague well behind the two Baltic State capitals on price.