This hearty Indian dish combines ground beef with a fragrant blend of cumin, coriander, and garam masala. The meat simmers with tomatoes, onions, and green peas, creating a rich, thick curry that's perfect over steamed rice or paired with warm naan. Fresh cilantro and a squeeze of lemon brighten the deep, warming flavors.
The first time I made keema curry was on a Tuesday evening after work, when the grocery store had a great sale on ground beef and my spice cabinet was overflowing with half-used bags of aromatics. I remember my apartment filling with that incredible smell of toasted cumin hitting hot oil, something so distinctly Indian and comforting that my roommate actually came out of her room to investigate. We ate it standing up at the kitchen counter, straight from the pan, with pieces of torn naan bread because we were too hungry to bother with proper plates. That night taught me that the most satisfying meals sometimes come from the humblest ingredients and about thirty minutes of attention.
I started making this curry regularly when my sister moved to the city and began visiting for dinner every week. She claimed she could not cook to save her life, so I taught her this recipe as her first lesson in Indian home cooking. Now she makes it better than I do, adding extra chili and sometimes stirring in potatoes because she loves how they soak up all that spiced tomato gravy. Last month she texted me a photo of her version with the caption guess who is a real cook now, and honestly, I have never been prouder.
Ingredients
- 500 g (1 lb) ground beef: Ground lamb makes this even more authentic, but beef works beautifully and is usually easier to find
- 1 large onion, finely chopped: Take your time chopping evenly so the onions caramelize properly instead of staying crunchy
- 2 cloves garlic, minced: Fresh garlic makes a huge difference here, so avoid the jarred stuff if possible
- 1-inch piece fresh ginger, grated: I use the side of a box grater, and a spoon makes scraping off the grated ginger so much easier
- 2 medium tomatoes, diced: Even out-of-season tomatoes work because they cook down into the sauce, but ripe ones add natural sweetness
- 1 green chili, finely chopped: Leave the seeds in if you like heat, or remove them for a milder curry
- 1 cup frozen peas: They add sweetness and color without needing any extra prep work
- 2 tbsp vegetable oil: A neutral oil lets the spices shine without competing flavors
- 1 tsp cumin seeds: Toasting these in hot oil at the start releases an incredible aroma that builds the flavor base
- 2 tsp ground coriander: Earthy and slightly citrusy, this balances the richer spices
- 1 tsp ground cumin: Different from the seeds, this adds depth to the overall spice blend
- 1 tsp garam masala: This warm spice blend usually includes cinnamon, cloves, and cardamom, so it adds complexity
- 1/2 tsp turmeric powder: Mostly for that gorgeous golden color, though it adds subtle earthiness too
- 1/2 tsp red chili powder: Paprika works if you want color without much heat
- 1 tsp salt: Adjust as you go, especially if your tomatoes are particularly acidic
- 1/2 tsp ground black pepper: Freshly ground makes a noticeable difference
- 1/3 cup water: Just enough to create a sauce without making the curry soupy
- 2 tbsp fresh cilantro, chopped: The fresh herb brightness cuts through the rich spices
- Lemon wedges: A squeeze of acid right before serving wakes up all the flavors
Instructions
- Start with the aromatics:
- Heat the oil in a large skillet over medium heat and add the cumin seeds, letting them sizzle for about 30 seconds until you can smell their nutty fragrance. Then add the chopped onion and cook for 3 to 4 minutes until it turns soft and golden, stirring occasionally so it does not burn.
- Add the ginger and garlic:
- Stir in the minced garlic, grated ginger, and chopped green chili, cooking for just 1 minute until the raw garlic smell fades. You want everything softened but not browned at this stage.
- Brown the meat:
- Add the ground beef to the pan, breaking it up with a wooden spoon as it cooks. Let it brown for 5 to 6 minutes, cooking until the pink color disappears completely and the meat starts to develop some caramelized spots.
- Add the spices:
- Stir in the coriander, ground cumin, garam masala, turmeric, chili powder, salt, and black pepper. Cook for about 1 minute, stirring constantly so the spices bloom in the hot pan and coat every bit of meat.
- Add tomatoes and simmer:
- Toss in the diced tomatoes and cook for 3 to 4 minutes until they soften and start breaking down into the meat. Pour in the water and bring everything to a gentle simmer.
- Add peas and finish:
- Stir in the frozen peas, cover the pan, and cook for 5 minutes, stirring occasionally. Remove the lid and cook for another 2 to 3 minutes until the sauce thickens and the meat is coated in a rich, spiced gravy.
- Serve with garnishes:
- Taste and adjust the seasoning if needed, then sprinkle with fresh cilantro and serve hot with rice, naan, or flatbread. Put lemon wedges on the table so everyone can add a bright squeeze just before eating.
This dish has become my go-to when friends need comforting, like last winter when my neighbor was recovering from surgery and I dropped off a container still warm from the stove. She texted me the next morning saying it was the first thing she had actually wanted to eat in days, and that right there is why I keep coming back to this recipe.
Making It Your Own
I love how adaptable this curry is, and over the years I have found so many ways to customize it based on what is in the fridge. Sometimes I add diced potatoes along with the peas, letting them simmer until they are tender and creamy. Other times I throw in handfuls of fresh spinach at the very end, just until it wilts into the sauce. Once I even stirred in a tablespoon of coconut milk at the end, which made the gravy incredibly rich and slightly sweet.
Serving Ideas
While rice and naan are classic choices, I have also served this over quinoa for extra protein or wrapped it in flatbread with some yogurt for a quick lunch. My favorite way might be spooned over roasted cauliflower rice when I want something lighter but still satisfying. A simple cucumber raita on the side cools down the heat and adds a refreshing contrast.
Make Ahead Tips
This curry actually tastes better the next day, when the spices have had time to meld and deepen. I often double the batch and keep portions in the freezer for those nights when cooking feels impossible. When reheating, add a splash of water if the sauce looks too thick, and warm it gently over medium heat.
- Let the curry cool completely before refrigerating, which prevents condensation from making it watery
- Freeze in portions rather than one big container so you only thaw what you need
- The fresh cilantro is best added right before serving, as it loses its brightness when reheated
There is something so honest about a dish that takes simple ingredients and transforms them into something this comforting and flavorful. I hope this recipe finds its way into your regular rotation the way it has into mine.
Recipe FAQs
- → What is keema?
-
Keema refers to a traditional South Asian dish made with minced meat, typically beef, lamb, or goat. The word comes from the Turkish 'kiyma' meaning minced meat. It's cooked with aromatic spices and often includes vegetables like peas or potatoes.
- → How spicy is this curry?
-
The heat level is moderate and adjustable. The recipe includes green chili and red chili powder, but you can reduce or omit these for a milder version. Paprika makes a good substitute for less heat while maintaining color.