Wash and peel potatoes. If using large potatoes, cube them to equal size. If using baby potatoes, ensure all are the same size. Prick them with a fork or toothpick to ensure they cook from inside.
Bring 3 cups of water to a boil in a pot and boil the potatoes for 3 minutes. Remove and wipe off or allow to air dry. In the same water, you can boil onions for 2 to 3 minutes and blanch them (optional).
Heat oil and fry the potatoes until lightly golden. Set aside.
Make a fine paste of cashews, onions, and tomatoes.
Heat a pan with oil and saute bay leaf and cardamom. Fry ginger garlic paste until the raw smell goes away.
Add the onion tomato paste and saute until the raw smell goes away and the paste thickens slightly.
Add chili powder, garam masala, salt, and turmeric. Saute until the masala smells good and leaves the sides of the pan.
Add curd and saute until it thickens.
Add potatoes and ½ to ¾ cup water. Stir well and bring to a boil.
Cover and cook on low heat for 5 to 7 minutes, until the gravy is thick and potatoes are fully cooked.
Sprinkle crushed kasuri methi. Stir and cook for another minute. Switch off.
Sprinkle coriander leaves and transfer dum aloo to a serving bowl. Keep covered until served.
1 tbsp oil, salt as needed, ½ to ¾ tsp garam masala, 1 tsp ginger garlic paste, 250 grams potatoes (about 25 small baby potatoes), ¼ cup oil or as needed for frying, 1 cup cubed onions (preferably blanched), 1 medium tomato deseeded (do not use sour tomato), 10 cashew nuts, 1 small or half bay leaf, 1 green cardamom / elaichi, 1 slit green chili, ½ to ¾ tsp coriander powder, ½ to ¾ tsp Kashmiri chili powder, little turmeric powder, 3 tbsps thick curd / plain yogurt (do not use sour one), ¼ tsp kasuri methi / dried fenugreek leaves, coriander leaves few chopped