1/2 cup chopped fresh cilantro plus additional sprigs for garnish
Marinate the chicken:
In a small bowl, whisk together the yogurt, 1 tablespoon peanut oil, lime juice, and garlic. Add the chicken, and rub the marinade over the meat. Set the chicken aside while you make the sauce.
Make the sauce:
In a small bowl, whisk together the coriander, cumin, cardamom, nutmeg, paprika, cayenne, and grated ginger. In a heavy, wide 4-quart pot or sauté pan over moderately high heat, melt the butter. Add the onion and sauté, stirring occasionally, until light brown and caramelized, about 5 minutes. (Note that because they are sautéed so quickly over moderately high heat, the onions will not caramelize evenly.) Reduce the heat to moderate then stir in the spice and ginger mixture. Add the tomato purée, water, heavy cream, and salt, and bring the sauce to a boil. Reduce the heat to gently simmer the sauce, uncovered, until thickened slightly, about 10 minutes.
While sauce is simmering, cook chicken:
Heat a heavy 11- to 12-inch griddle or skillet over moderately high heat until very hot and add 1/2 tablespoon of peanut oil. Working in two batches, cook the chicken, turning them a few times and lowering the heat if the chicken chars too quickly, until just cooked through and browned well on both sides, 6 to 8 minutes total. Transfer the chicken as cooked to a cutting board. Wipe the griddle or skillet clean with a paper towel and cook the remaining chicken, adding the remaining 1/2 tablespoon peanut oil between batches.
When all the chicken is cooked, cut it into 1 1/2-inch pieces. Add the chicken and potatoes to the simmering sauce and continue to gently simmer it, stirring occasionally, for 5 minutes. Remove the pan from the heat, stir in the black pepper and chopped cilantro, and season with salt.