McLeod Ganj has maybe twenty restaurants that get almost all the Google traffic. Most of them are fine. Some are overrated. And there are another twenty that visitors never find because they are down a side lane or do not care to post on Instagram. Here is a longer, more honest list.
Tibetan food, the real version
For thukpa and momos, the consensus among Tibetan residents is Tibet Kitchen and Lhasa Kitchen, both near the main square. Both are small and fill up by 12:45 at lunch. If you want the old-style beef momos that are disappearing even in Lhasa, ask at Tibet Kitchen, though you need to go early.
The Bhagsu breakfast
Shiva Cafe above the waterfall does banana porridge that people actually talk about afterwards. It is a fifteen-minute climb from the temple. Go on a weekday before 10, and you will get a table with a view. On weekends it is a scrum.
Baking
There is a small bakery on the Dharamkot road that only runs on Sundays and holidays. It is called Sangye's. Sourdough, cinnamon rolls, and the best savoury scones in the valley. Word of mouth only. The bread sells out by 11.
Indian food
Nick's Italian Kitchen does excellent Italian, despite the name, and decent Indian. For a proper Himachali thali, try Kangra Valley Dhaba near the taxi stand. It is a single-room family place with a menu that changes daily. No English sign. Ask around.
Coffee
Illiterati has the view. Common Ground has better coffee. Bodhi Green has the best brunch but is cash-only. None of them are secrets.
A note on cafe etiquette
Most McLeod Ganj cafes are used as workspaces by digital nomads on laptops. If you see someone staying for four hours with a single coffee, that is the local culture. It is not considered rude. Add your tip in cash on the table.