Our #1 recommendation is Aifur in Gamla Stan. It is a Viking themed restaurant, where all dishes are modern takes using only ingredients that would have been available to the Vikings. The food was great -- I had smoked fish; my wife had reindeer. The decor and ambience were fantastic -- all the waiters are dressed in realistic Viking garb (not a horned helmet in sight); and the fork had only two tines! As it is themed, it leans a bit on the tourist side, but they announce every guest as they arrive, with their hometown, and I would say half were from Sweden, half tourists.
We went to Kvarnen also - my wife liked it more than I did. I thought the food was pretty flavourless, but perhaps that is just what traditional Swedish food tastes like. We both had the meatballs. I think Kvarnen is one of those places that gets by more on the fact that it is famous and was mentioned in The Girl With the Dragon Tattoo, than it does on actual good food.