We were just there last month. I stingily recommend Restaurant O. excellent! And in a beautiful space. Open for lunch and dinner. I recommend dinner.It was fancy and elegant but not very expensive. Also,a few doors down-Rucola. Perfect for lunch. avoid a restaurant I read about on this board. Karl Frienrich.It's in a building on the main square in old town. It was tired and pretentious and expensive. In fact avoid all the restaurants on the square and go to the street that is just behind it. lots of cute little spots for a simple meal.
Sure thing - I used to write restaurant reviews for a local English-language magazine. It's been a few years since I was there, but there are tons of decent dining options in Tallinn, as long as you're not expecting incredibly creative/heavily spiced/Michelin-starred food.
-Olde Hansa: Right on the town hall square; serves authentic Medieval cuisine, including spiced beer. Sounds like a tourist trap, and it's not cheap, but the food is actually fascinating, and like I said, authentically Medieval, except with the benefit of refrigeration.
-Pegasus: hypermodern surroundings, fusion-y, pan-European-type food done very well. Beware the sneaking suspicion that you're not cool enough to be sitting there, but it's one of the city's best.
-Troika: Russian place on Town Hall Square. Also expensive, but probably the place to go for Russian food in Tallinn. The bear is pretty good; the blini are great.
-Mookala makes excellent, relatively unadorned but very high-quality fish. It's intimate (read: small), and as likely to be completely empty as packed to the gills.
-I used to really like Must Lammas (Black Sheep) in old town, but heard it's gone a bit downhill lately.
-For more upscale options, I never went there but always heard Gloria was good. Stenhus IS good, but the prices get crazy.
-If you're looking for a pleasant place to have a reasonably quiet drink, Kloostri Ait is pretty much the Tallinn pub par excellence. More artsy locals than drunken tourists; cozy, friendly, nice big fireplace.
-Also, I always enjoyed the Casa del Habano cigar bar. The proprietor is hilarious and friendly.
-DO NOT under any circumstances try anyplace that attempts to make Chinese, Mexican or American food. If you get tired of Northern European cuisine, try the surprisingly good Villa Thai in Kadriorg, a quiet, tree-lined residential nabe just outside town - I've had tom yum goong soup in cities from Berlin to New York, and the bowl I got at Villa Thai was the best I've ever had. There's also Controvento, a stalwart Italian place in old town. Elevant isn't bad, but their Indian food is toned down for local palates.