We live in Luzern and often go to La Terrazza. It is a nice Italian restaurant on the River Ruess - you can sit on the terrace which is literally on the river or you can sit in the high ceilinged indoor area.
Ristorante La Terrazza Metzgerrainle 9
6004 Luzern
041 410 36 31
Here is a link to the website where you can see the menu and prices etc. I always book.
+1 for Old Swiss House, the food is brilliant, but it can be quite expensive. It can also be a bit heavy, tipically Swiss. I highly recommend the menus of 69 CHF where you can choose 3 courses and particularly the Swiss Chocolate Mousse...heaven!
Some nice ones away from the beaten tourist track:
The Weisses Schloss (mentioned above) is still good, and the bar next door (Nachbar) is a nice place to have a beer before the meal.
I think Grottino 1313 is my favourite though, despite being in the middle of nowhere (in city terms). Book well in advance if you want to go there on a Friday or Saturday.
On a more basic level, the Parterre does good salads, and the Restaurant Neustadt is known for its cordon bleu.