01 - Combine lamb with yogurt, 1 tsp coriander, 1 tsp cumin, 1/2 tsp turmeric, and 1/2 tsp salt in a large bowl. 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 until deep golden brown, about 10 to 12 minutes.
03 - Stir in garlic and ginger; cook for 1 minute until fragrant. Add all spices including cardamom, cinnamon, cloves, bay leaf, fennel, garam masala, chili powder, remaining coriander, cumin, turmeric, and black pepper; cook for 1 to 2 minutes, stirring constantly.
04 - Add marinated lamb to the pot, raise heat to medium-high, and brown on all sides for 5 to 7 minutes.
05 - Stir in tomato paste and chopped tomatoes; cook for 5 minutes, scraping the bottom to release browned bits.
06 - Add water and bring to a boil. Reduce heat to low, cover, and simmer for 1.5 hours, stirring occasionally, until lamb is tender and sauce has thickened. Adjust salt to taste.
07 - In a bowl, combine flour, sugar, salt, baking powder, and yeast. Add warm water, yogurt, and oil. Mix to form a soft dough and knead for 5 to 8 minutes until smooth. Cover and let rise in a warm place for 1 hour.
08 - Divide the dough into 4 to 6 equal portions. On a floured surface, roll each piece into an oval about 0.4 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 in spots. Brush hot naan with melted butter.
10 - Serve the lamb curry hot alongside freshly made naan for an authentic experience.