Gather your ingredients.
In a medium pan over medium heat, add 1 1/2 teaspoons oil and when hot, add the ground beef (or extra-firm tofu crumbles). Sprinkle with the turmeric and mash the meat into crumbles and stir occasionally for about 7 to 9 minutes, or until completely browned. Remove the meat with a slotted spoon and discard any remaining fat.
Using the same pan, heat the last 1 1/2 teaspoons of oil over medium-high heat and add onion, salt, and curry leaves, if using. Cook until the onions are golden, about 8 minutes. Reduce heat if necessary to keep the onions from sticking, and/or add a tablespoon of water.
Add ginger garlic paste and stir for 1 to 2 minutes until it no longer smells raw. Add the chili powder, cloves, cinnamon, and coriander. Stir, cooking the spices for another minute, then add the tomato sauce or minced tomatoes. Simmer for 6 minutes if using the puree or sauce. If using fresh tomatoes, add another 5 minutes or until the tomatoes are completely cooked down. Cook the mixture until it has darkened and the oil separates along the edges.
Return meat and add peas (if using), to the pan, stirring well and cook for another 7 more minutes. Stirring several times, continuing to break down the meat. You are typically looking for a dry curry; simmer for a few more minutes if necessary. Or leave some liquid, depending on your preference and how you are using the keema.
Garnish keema curry as you wish with cilantro, mint and/or fried curry leaves. Use for sandwiches (aka sloppy joes), saucy over rice, with flatbread, or as a topping for Indian pizza.