01 - In a large bowl, combine lamb with yogurt, 1 tsp ground coriander, 1 tsp ground cumin, 1/2 tsp turmeric, and 1/2 tsp salt. Mix well, cover, and refrigerate for 30 minutes to 2 hours.
02 - Heat oil or ghee in a heavy-bottomed pot over medium heat. Add sliced onions and cook, stirring frequently, until deep golden brown, about 10 to 12 minutes.
03 - Add garlic and ginger; sauté for 1 minute until fragrant. Incorporate all spices including cardamom, cinnamon, cloves, bay leaf, fennel, garam masala, chili powder, remaining coriander, cumin, turmeric, and black pepper. Stir constantly and cook for 1 to 2 minutes.
04 - Add marinated lamb pieces and increase heat to medium-high. Brown all sides for 5 to 7 minutes.
05 - Stir in tomato paste and chopped tomatoes. Cook for 5 minutes, scraping the pot to loosen any browned bits.
06 - Pour in water and bring to a boil. Reduce heat to low, cover, and simmer for 90 minutes, stirring occasionally, until lamb is tender and sauce thickens. Adjust salt to taste.
07 - In a bowl, whisk together flour, sugar, salt, baking powder, and instant yeast. Add warm water, yogurt, and oil; mix into a soft dough. Knead for 5 to 8 minutes until smooth. Cover and let rise in a warm place for 1 hour.
08 - Divide dough into 4 to 6 pieces. On a floured surface, roll each piece into an oval shape about 3/8 inch thick.
09 - Heat a skillet or griddle over medium-high heat. Cook each naan for 1 to 2 minutes per side until puffed and golden brown spots appear. Brush with melted butter while warm.
10 - Plate the lamb curry alongside freshly cooked naan. Enjoy immediately.