One of the best restaurants in town is the one on the Lake Palace Island. If you want to have dinner in this unique place, you do have to book in advance. Note that prices in this super exclusive restaurant are expensive. If you can not afford it, the second best option is a restaurant along the lake with views to this island. Restaurants like these have given Udaipur the reputation as a romantic destination.
Another good option to have dinner is one of the roof top restaurants with views to the Jainist Temple.