Grind coconut, poppy seed, cardamom, ginger, and green chilies to a paste.
Boil the potatoes. Peel, cut in 1 1/2" cube. Fry the potatoes in hot oil till they turn slightly brown.
Drain and set aside.
Heat oil in a shallow pan and fry the onions to light brown.
At this point if you want you can add the 4 optional whole spices and let cook for one minute.
Add paste to the onions. Fry till the oil separates.
Add chili powder, cumin powder, and coriander powder. Stir for 5 mins.
Add yogurt and mix, salt and fried potatoes.
Add enough water to cover the potatoes and simmer until the gravy is thick for about 10 minutes.
Now add garam masala powder and mix gently.
Garnish with the chopped coriander leaves.