In a pan add oil and splatter the whole garam masala. Fry lamb/ chicken in it along with yoghurt and ginger garlic paste. Fry until the water released from the meat dries completely. This should be done on medium to high flame.
Alongside prepare a paste of the fried onions using a blender. Once the meat is fried add the dry spices, fried onion paste and continue frying for few more minutes until oil separates. Keep stirring occasionally.
If using chicken, add potatoes at this stage and continue frying. When the oil begins to separate add 3 cups of water (approximately) and let it cook on high flame for 4-5 minutes. Once the gravy starts bubbling, lower the flame and cover it with the lid. Let it simmer for at least 20 minutes. Check, if the chicken and potatoes are tender switch off the flame. Also taste the seasoning at this point. Finish off by adjusting the quantity of water according to the desired consistency of the gravy.
If using lamb, add 3 cups of water (approximately) and let it cook on high flame for 4-5 minutes. Once the gravy starts bubbling, lower the flame and cover it with the lid. Let it simmer for at least 25-30 minutes. Check, if the mutton is about 80%cooked, add potatoes and fry with gravy on high flame. Keep stirring. The water will start drying and the oil will also begin to separate.
Add approximately 3 cups of water and bring it to a boil. When it starts boiling, cover and simmer cook on low medium flame for another 15 minutes (approximately) or until the potatoes and meat is fully cooked. Taste the seasoning at this stage. Finish off by adjusting the quantity of water according to the desired consistency of the gravy.