Heat oil or ghee in a heavy bottom pot and add bay leaf, green cardamoms, cinnamon, cloves and black cardamoms. (If you opt for the ground spices, add them later.)
When the spices begin to sizzle in oil, add mutton and sear it for 1 to 2 minute on a high heat.
Reduce the heat to medium and fry for another 4 to 5 minutes until the meat is slightly brown.
While you fry the meat, add yogurt to a mixing bowl. Also add ground spices - red chilli powder, fennel powder, dried ginger powder and salt.
Whisk all of them well. If your yogurt is too thick (like Greek yogurt), add 3 to 4 tablespoons of water or stock and whisk it well until smooth.
Once the meat is light brown in color, add hing to the oil. Take the pot off the stove and slowly stir in the spice and yogurt mixture.
Mix well and place the pot back on the stove. Cook covered for 3 to 4 minutes on a medium heat.
Pour 1 cup hot water or stock. Cook covered on a low heat until tender, adding more hot water if required.
Stir rogan josh every 7 to 8 minutes. When it is done, the mutton pieces should be soft, tender and fall off the bone.
The cook time depends on the kind of pot, source of heat and the intensity of heat. Do not forget to add more hot water (if required) as you cook.
The gravy in Rogan josh is neither runny nor too thick but is slightly thick as the some of the bone marrow seeps into the liquids. This results can be achieved only by slow cooking the dish.
Taste test and add more salt if required. Turn off the heat and rest for few hours before serving. This helps to develop the flavors.
Serve rogan josh with Butter Naan, Basmati Rice, Paratha or Roti. It is best served with plain rice.