Analysis of 36 popular locations revealed that Poland's second city has the lowest prices for items such as meals, accommodation, public transport and attraction tickets.
This includes £1.57 for a bottle of beer, £5.37 for a 48-hour travel card and £4.47 for entrance to Wawel Royal Castle.
The total for a dozen typical city break expenses on a two-night stay came to just £165 in Krakow, research by Post Office Travel Money found.
This is less than a third of the most expensive destination, Amsterdam, where the same items cost £535.
Don't miss it in May: The best places to watch the Tour de Yorkshire 2018The top seven cheapest locations are all in eastern Europe, including Prague, Budapest and Riga.
Moscow is sixth on the list, due to the weak Russian ruble, low living costs and competitively-priced accommodation.
At the other end of the scale, Oslo is the second most expensive city after Amsterdam, with Reykjavik in third.
The best places for fish and chips in YorkshireAndrew Brown of Post Office Travel Money said: "If you are planning a city break this year, do your homework carefully and check prices for key items like meals, drinks and sightseeing before booking because there are big variations across Europe.
"Accommodation will make a big difference too as we found that the cost of staying over in a city can vary by hundreds of pounds."
- Here are the five cheapest destinations for a two-night break (cost of 12 tourist items in brackets):
1. Krakow, Poland (£165)
2. Vilnius, Lithuania (£166)
3. Riga, Latvia (£172)
4. Warsaw, Poland (£181)
5. Budapest, Hungary (£184)
- Here are the five most expensive locations:
1. Amsterdam, Netherlands (£535)
2. Oslo, Norway (£510)
3. Reykjavik, Iceland (£510)
4. Copenhagen, Denmark (£471)
5. Venice, Italy (£423)