Heat oil in a pressure cooker or heavy bottomed pan over medium-high heat. Once hot, add the whole spices (cinnamon, bay leaf, cardamom, cumin and cloves) and fry them for about 10 seconds. Add the onions and sauté until golden, about 10-12 minutes.
Add the goat and stir fry it on high heat until it has browned, about 7-10 minutes. This process is called "bhuno", and is essential to get the flavor out.
Add the garlic, ginger, chopped tomatoes, ground spices (coriander, cumin, red chili powder, and turmeric) and salt and mix well.
Add 1.5 cups of water and pressure cook this mixture for about 10-12 minutes, depending on your meat and pressure cooker.*
Meanwhile, peel and dice the potatoes to 1" cubes, and boil them just until tender. Strain and set aside.
Once it's safe to do so, open the pressure cooker and check if the meat is tender. Raise the heat to medium-high and add the ghee, whipped yogurt, and the green chili pepper. Keep stirring for about 5 more minutes until the yogurt is well mixed and most of the moisture has evaporated.
Add the strained potatoes and 2 cups of water (or as desired) for thinner or thicker curry and bring to a boil. Cook for a few more minutes until the oil comes to the top of the curry. Taste and adjust salt and spices. Since there's a greater amount of liquid, more salt may be needed.
Turn off the heat, add the chopped cilantro, mix and sprinkle garam masala (if using).
Serve with roti, naan or rice.