01 - Heat butter and oil in a large skillet or Dutch oven over medium heat.
02 - Add onion and sauté until soft and golden, about 5 minutes.
03 - Stir in garlic and ginger; cook for 1 minute until fragrant.
04 - Add cumin, coriander, turmeric, garam masala, chili powder, salt, and pepper. Stir for 30 seconds to bloom the spices.
05 - Add potatoes and cook for 3 minutes, stirring to coat in spices.
06 - Add tomatoes and water. Stir, cover, and simmer for 10 minutes.
07 - Add cauliflower florets. Stir, cover, and cook for another 12–15 minutes, until vegetables are tender.
08 - Reduce heat to low. Stir in heavy cream and simmer uncovered for 3–4 minutes until sauce thickens.
09 - Taste, adjust salt or spices as needed. Garnish with cilantro and serve with lemon wedges, rice, or naan.