Heat oil in a medium-sized pan over high heat. Once hot, add the cumin seeds and onion and sauté until the onions are golden brown, about 8 minutes.
Add the garlic and ginger and stir for a minute, until aromatic. Add the ground beef and cook for 5 minutes, stirring often, until it’s no longer pink and most of the moisture dries up. Use a wooden spatula to break up the meat into small pieces to ensure no lumps.
Add the tomato, green chili pepper, yogurt, coriander powder, red chili powder, turmeric, and salt and continue to sauté for 2 minutes, until the tomatoes start to break down. You’ll notice the liquid in the mixture is beginning to come to a boil. Add 1/4 cup water and allow it to come to a simmer again.
Lower the heat to medium, cover and allow it to cook for 15 minutes, stirring once in between. If you feel that there is not enough moisture and the meat is sticking to the bottom of the pan, add another 1/4 cup water.
Uncover, and stir in the peas, more green chili pepper (if using), and 1/2 cup water. Cover again and allow the mixture to cook for 3-5 minutes, or until the peas are cooked through. (See Note 3)
Add the black pepper, garam masala, and cilantro and sauté for another minute or two, until you can see the oil separating from the curry. Taste and adjust salt and spice. Lower the heat to the lowest setting, cover, and allow the flavors to settle for 5 minutes.
Turn off the heat, sprinkle with more cilantro and squeeze in lemon or lime juice. Serve hot with any kind of bread (roti, naan, sliced bread), or rice.