Breaking the golden rule of never patronizing a hotel restaurant, Tadka (formerly "Tamarind") in the Marriott Northeast is worth visiting. They have a lunch buffet (yes, another golden rule, "no buffets," broken) that costs 135.70 (US$21.71) per person which is a pretty good deal. There are two hot meat dishes (predictably lamb rogan josh and chicken masala) and two hot veggie dishes, skewered broccoli and chicken cooked in the tandoor oven, rice, bread, dal, fruit, kheer, and unlimited 7-Up. Everything is good.
This may be the best Indian restaurant in Beijing, but I'm no expert, I'm just stuffed having overeaten there.