A few people said china china, not critiscising, but it's like £5 a head its nice food but. . . not really a "nice places we can dress up" kinda place.
If you want chicken (mostly quite spicey chicken) Nando's is good, (brewery 1/4)
Opposite nando's is 'coal', quite a nice atmosphere in there, foods ok, nothing to special though.
Theres a little italian on st.marys street (don't know the name but its castle end of the road) the food there is stunning and you can get a lil dressy.
Pizza Express is just opposite the italian, not the most high-class place to eat but again, brilliant food and great service. Dress wise, its only a casual restaurant, yet 90% of people in there are dressed formally . . . it's a mystery.
The juburaj, theres 4 altogethor, maybe 5 and I think all but 1 are in cardiff. Best indian i've ever been to, the one in rhiwbina and the one in roath are both brilliant. Delicious food and a great service, they don't rush you like alot of indian restuarants seem to, they care more about the customer and less about the speed they can turn over more profits in my opinion. Brilliant place to eat, and again you can get dressy :P
Best italian in cardiff (my opinion) is Gio's. Its an italian on the hayes, its small in a nice way, its cosey. I think it's a family business. Quite a few celebrities have been there, GREAT food and service, and best of all you can dress up :)
Happy eating wherever you end up!
(edit) just remembered cardiff bay, it's truely beautiful nowadays and it's great because you can have a nice walk around the bay area/mermaids quay etc afterwards. Theres many good places down there, they have a nice fish place, scallops i believe it's called. There is a wonderfull restaurant/bar there too, I can't remember the name, but it has a pointy balcony. If you end up eating down the bay, stop in there afterwards for a drink, very nice atmosphere.
again. . . happy eating