Il y a de nombreux restaurants à Saint-Emilion. Si vous préférez éviter les pièges à touristes, je vous recommande de faire votre halte déjeuner à Libourne (à 8 km de St-E.), au restaurant de la Tour du Vieux Port :
http://www.latourduvieuxport.fr/
C'est sur le quai Souchet. Bon accueil et bonne table à prix raisonnables, dans un décor simple et sympa.
Et profitez-en pour visiter la Grand Place de Libourne. Bien sûr, il faut visiter Saint-Emilion, vraiment exceptionnel.