Put a heavy-based pan or a Dutch oven on medium heat and melt the ghee.
Add sliced onions and sauté them until caramelised and get really dark brown but not burnt. This would take around 20 to 30 minutes.
Spare half of the caramelised onions on a plate and set them aside to use later for garnishing the biryani.
Add cardamoms, cinnamon sticks, bay leaves, flaked chilli, garam masala, mace (optional) and turmeric to the pan, and sauté for 40 seconds. Stir continuously to make sure they don’t get burnt.
Add the mutton along with the marinade, the chicken stock or the lamb stock, coriander, and the chilli.
Mix well and turn the heat to high to bring the mixture to a boil.
When it boils, lower the heat, close the lid and let it simmer for one hour or until the mutton is tender, stirring occasionally. Stir occasionally to avoid it sticking to the bottom of the pan.