Wash and boil the potatoes with their skin. Then peel off the skin and cut into halves. Keep the potatoes in a dish. Grind the onions, ginger and garlic together into a coarse paste. Mix the paste with salt, red chili powder, garam masala and sour butter milk or vinegar. Add quarter portion of this mixture to the potatoes and another quarter portion to the chicken pieces and mix well and set aside for about 2 hrs.
Heat the ghee or dalda in a heavy-based pan and fry the remaining half of the mixture. Add tomatoes and turmeric powder and fry for 5-7 minutes. Then add the marinated chicken and fry for 7-10 minutes. Add 2 cups of warm water and bring it to a boil. Close the lid and reduce the heat. Cook for a while (30-45 minutes). Then if the gravy becomes thick. Take the lid off and fry until the chicken is tender. Now add the seasoned potatoes and a tablespoon of plain yoghurt and mix well. Sprinkle little water if needed. Let it cook in low heat for 25-30 minutes. Garnish with chopped coriander leaves. Serve hot with plain rice or fried rice.