The Horse in Moretonhampstead is very good (we’re admittedly a bit biased as it’s our local!). Pub at the front, informal restaurant out of the back. Mediterranean style food – also does good tapas and pizza. Not cheap but very good.
http://thehorsedartmoor.co.uk/
http://www.tripadvisor.co.uk/Restaurant_Review-g315958-d1636471-Reviews-The_Horse-Moretonhampstead_Dartmoor_National_Park_Devon_England.html
We also like The Cleave in Lustleigh, interesting menu, good beer and lovely garden. May be a bit too pubby though.
Or if you really want to splash out, then there’s Gidleigh Park near Chagford.
http://www.gidleigh.co.uk/restaurant