Heat 1 tablespoon vegetable oil over medium-high heat in a large saucepan or dutch oven.
When oil is very hot, add 1 ½ cups onions, 1 tablespoon garlic, 1 tablespoon ginger, and ½ jalapeno pepper; fry well until deep golden brown. Lower the heat if necessary, to make sure onions caramelize and don’t burn. Stir frequently.
Add 2 tablespoon tomato paste mixed with a tablespoon of water or broth and fry, stirring frequently.
Cook until the oil separates and the mixture becomes paste-like, about 5 minutes. If the mixture starts sticking to the bottom of the pan, add a bit of hot water to deglaze. Reduce heat to medium low.
Stir in 1 tablespoon coriander powder, 1 teaspoon cumin powder, ½ teaspoon turmeric powder, ½ teaspoon Kashmiri chili powder, ¼ teaspoon fennel powder (if using), ½ teaspoon black pepper powder, 1 teaspoon salt. Saute briefly till fragrant, about 20 seconds.
Increase heat to medium-high and add beef. Saute the 1 ¼ lb ground beef until the beef is no longer pink. If needed, stir in a few tablespoons of hot water to keep the food from burning or sticking to the bottom.
Add the 12 oz frozen peas, lower heat to medium low, cover, and simmer for 10 minutes.
Stir in ½ teaspoon garam masala and heat through.
Remove from heat and stir in ¼ cup cilantro.
Potato Topping
Heat 1 tablespoon vegetable oil over medium-high heat in a small saucepan.
When the oil is very hot, add the ½ cup onion, 2 teaspoon garlic, 1 teaspoon ginger, and ½ jalapeno pepper. Saute until the onions are softened. Lower the heat to medium-low.
Stir in the ¼ teaspoon turmeric powder, ¼ teaspoon Kashmiri chili powder, ½ teaspoon salt, and ¼ teaspoon black pepper powder. Saute briefly till fragrant, about 20 seconds. Set aside.
To cook the potatoes in the Instant Pot: Add 1 cup water to the Instant Pot. Place a steamer basket in the Instant Pot, and add the 1 ½ lbs Yukon gold potatoes to the basket. Close the lid and pressure cook on high pressure for 5 minutes with a 10 minute natural release.
To cook the potatoes on the stove: Add them to a large saucepan and add enough cold water to cover them by an inch. Heat the pan on high heat and bring to a boil. Reduce the heat to medium and cook for about 15 minutes or until the potatoes are fork tender. Drain the potatoes.
Place the potatoes in a large bowl and mash the potatoes with a potato masher until smooth, or use a potato ricer.
Add the reserved spices to the potatoes and mix well. Add 1 to 2 tablespoon heavy cream (or butter) if the potatoes are too thick.
Assemble the Dish
Preheat the oven to 350 degrees Fahrenheit (180 degrees Celsius).
Spread the meat mixture in a large casserole dish. Spread the potatoes over the meat in an even layer. Use a large enough dish to make sure the meat doesn't overflow.
Using a fork, make swirly designs on the potatoes to create texture and allow the potatoes to brown in parts. Dot the potatoes with pieces of the 1 tablespoon butter.
Bake for 25 to 30 minutes or just until the potatoes begin to brown. Transfer to a cooling rack for at least 10 minutes before serving. See Note 1.
Video
Notes
Note 1: Place the dish on a baking sheet to prevent the meat from bubbling up and dripping.