For a fine view, consider the options listed below.
Rooftop dining is offered on the terrace above the Hotel u Prince. This is an elaborate hotel and very touristy, but it boasts some amazing views. This hotel is a great place to visit for dinner whilst walking round Old Town Square. This top five-star hotel faces the Astronomical Clock, and it is aimed mainly at overseas tourists. A smooth elevator brings you up to the terrace on the rooftop, where all possible space is utilized to serve you fine food (international cuisine with lots of fish) off the open air grill. The views are possibly the best in the area—particularly when the sun sets. The menus are an expensive, but a fun mixture, with photographs to make ordering straightforward. As the restaurant is located in a touristy area, waiters are skilled at landing you with bewildering menu fees. So, do not shy away from confirming precise prices prior to ordering. Also, this restaurant is good for a late evening or sunset drink (250 to 300CZK mains, each day until midnight, rapid waiters, out-door heating when required, Staroměstské Náměstí 29).
Just adjacent to Prague Castle, Villa Richter represents another good selection. The restaurant at Villa Richter is bordered by vineyards which have been freshly replanted, and comprises three high-class restaurants, each boasting awesome views of Prague. Forty yards beneath the gate of the lower castle, you will notice a gate opening out onto a vineyard. Walk down through the vineyard and you will discover three distinctive restaurants (which are open each day from 10:00 to 23:00).
Other recommended venues include Bellavista Restaurant in the monastery at Strahov, with fantastic views above the rooftops of Prague; Nebozízek and Petřínské Terasy midway up Petřín Hill (adjacent to the funicular stop); and Certovka within the Little Quarter, with its great views of Charles Bridge. Čertovka is located down an alleyway so restricted that it needs a signal for regulating pedestrians. This restaurant provides seating outdoors on two compact terraces situated on water. In view of the location, the menu prices are competitive (400CZK meals, each day 11:30 to 23:30, U Lužického Semináře 24, away from the little square. Reservations are not accepted, so get there early to reserve a spot).
To find the top affordable riverside dinner, go for a paddle-boat picnic. Nothing compares to floating down the centre of the River Vltava while the sun is setting, nibbling on a picnic dinner and drinking some wine with your travel companion of choice.