Marinate the mutton pieces with ginger-garlic paste, turmeric powder, cumin powder, coriander powder, Kashmiri chilli powder, and salt. Let it rest for 30 minutes.
Heat oil in a heavy-bottomed pot or slow cooker. Add cinnamon sticks, green cardamoms, and bay leaves. Fry for 30 seconds until fragrant.
Add sliced onions and garlic cloves to the pot. Fry until onions turn golden brown and crispy.
Add chopped tomatoes and cook until they become soft and mushy, about 5-7 minutes.
Add the marinated mutton along with all the marinade. Mix well and cook on high heat for 10-15 minutes, stirring occasionally.
Add fennel seeds, scraped coconut, and poppy seeds. Mix thoroughly.
Reduce heat to low, cover the pot, and let it simmer for 1.5-2 hours or until the mutton becomes tender and the flavors meld together.
Stir occasionally and add water if needed to prevent sticking. Adjust salt and spices to taste.
Serve hot with basmati rice, naan, or roti.