Beef Kofta Curry, or simply kofte, is a traditional Pakistani curry made of tender meatballs simmered in a spicy, flavorful sauce. This recipe has all the authentic flavor of old-fashioned kofte but it's made in an easier, more approachable way.
Combine the onion, green chili pepper, cilantro leaves, and mint leaves (if using) in a food processor. Use the pulse function to chop so that the onions are finely chopped but not blended. You don’t want the onions to break down too much and release water. Then add the rest of the ingredients listed under meatballs (including the meat) and process to combine for about 30 seconds or just until mixed.
Using a bit of oil to grease your hands, form into meatballs about 1 ½ inch in diameter. You can also use a cookie scoop to make this go faster. It should make around 25 meatballs. Set aside.
Rinse your food processor. Then use the pulse function again to chop the onion. Remove and set aside. Then chop the tomatoes and green chili pepper. Set aside.
Heat a large, heavy bottomed pan over high heat. Add the oil and whole spices, and allow them to sizzle for a few seconds. Then add the chopped onion and sauté, stirring often, for 7-8 minutes, or until golden. Lower the heat to medium-high. Add the garlic and ginger & sauté another 2 minutes, until the onions have deepened even more in color. Add the tomatoes and green chili pepper mixture, followed by the yogurt, spices and salt. Sauté for 4-5 minutes or until the oil starts to separate from the mixture.
Add 2 cups water and raise the heat to bring to a boil. When the water comes to a boil, lower the heat to the lowest setting. Once it has stopped boiling, arrange the kofte in a single layer.
Raise the heat to medium, cover and allow it to cook for 10 minutes. Uncover and gently stir the kofte. Lower the heat to low-medium. Cover and allow it to simmer for another 35 minutes, stirring once in between, until cooked through.
Sauté to evaporate water to make the kofte to desired consistency. Taste and add salt, if needed. Sprinkle in garam masala and cilantro. Serve hot, with hard-boiled eggs, if desired.
Reheating: Add 2-3 tablespoons of water before reheating on the stove or microwave as the curry thickens after cooling.
Make-ahead: After forming the meatballs, cover with cling wrap and refrigerate overnight or even freeze them if you'd like to finish making the curry later.