Authentic Beef Keema Recipe: Spiced Yogurt and Tomato Simmered to Rich Perfection

Soups & Stews

Authentic Beef Keema Recipe: Spiced Yogurt and Tomato Simmered to Rich Perfection

This authentic beef keema recipe transforms simple ingredients into a fragrant, spiced masterpiece that captures the heart of South Asian cuisine. 🌟 The secret lies in slow-simmering bone-in beef with yogurt and tomatoes until it achieves that signature melt-in-your-mouth tenderness and rich, aromatic depth that defines traditional keema.

What sets this recipe apart is the careful balance of spices bloomed in ghee—cumin, coriander, cardamom, and cinnamon—each contributing layers of warmth and complexity. The yogurt tenderizes the meat while adding a subtle tang, and the tomatoes develop a caramelized sweetness that rounds out the dish. This isn't just a stew; it's a celebration of technique and patience that delivers restaurant-quality results at home.

By the time you serve this dish, your kitchen will be filled with the intoxicating aroma of spices and slow-cooked meat, while each bite delivers perfectly spiced, tender beef in a sauce that's velvety yet vibrant. The texture is unmistakably authentic—juicy, flavorful, and rich without being greasy.

Pair it with warm naan, fluffy basmati rice, or a cooling cucumber raita to complete the meal. The beauty of this recipe is its versatility—it works as a standalone dish or as part of a larger South Asian feast. Let's create this timeless classic together.

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for authentic beef keema

Spiced ghee, tender beef, and yogurt's tang create this aromatic South Asian masterpiece.

Ingredient Amount Notes
Bone-In Beef Chuck Roast 🥩 2 lb Cut into 1.5-inch cubes, bone-in preferred
Plain Whole-Milk Yogurt 🥛 1 cup Unflavored, thick Greek-style preferred
Ripe Roma Tomatoes 🍅 4 whole Peeled, deseeded, chopped (about 1.5 cups)
Ghee or Clarified Butter 🧈 ½ cup For authentic spice blooming
Ground Cumin Seeds 🌿 2 tsp Freshly ground preferred
Ground Coriander Seeds 🌿 1 ½ tsp Toasted for deeper aroma
Green Cardamom Pods 🌿 4 whole Lightly crushed, seeds only
Cinnamon Sticks 🌿 1 whole 2-inch piece, lightly crushed
Fresh Ginger Root 🧄 2 tbsp Finely grated, skin on
Garlic Cloves 🧄 6 cloves Peeled, roughly chopped
Onion 🧅 1 whole Yellow or red, finely chopped
Fresh Green Chilies 🌶️ 2 whole Slit lengthwise, seeds removed
Kashmiri Red Chili Powder 🌶️ 1 tsp For color and mild heat
Turmeric Powder 🌿 ½ tsp Freshly ground preferred
Salt 🧂 1 ½ tsp Diamond Crystal preferred

The beef is non-negotiable—bone-in chuck roast delivers unmatched flavor and tenderness. Look for well-marbled cuts at Whole Foods or your local Indian grocer (like Patel Brothers). If using pre-cut cubes, pat them dry before cooking. The yogurt should be thick and unflavored—Greek-style works best, but plain whole-milk yogurt from the Indian aisle is ideal. For the tomatoes, Roma varieties concentrate sweetness when slow-cooked, but any ripe tomato will work in a pinch. The ghee? Gujarat brand from specialty stores elevates the dish, but regular ghee or even butter (clarified) suffices.

No bone-in beef? Chuck roast without bones still works, though texture differs slightly. Substituting yogurt? Coconut yogurt or thick buttermilk mimics the tang. Fresh ginger and garlic can be swapped for 1 tbsp each of paste**—just reduce the amount by half. For heat, cayenne powder at half the amount replaces Kashmiri chili. The cardamom and cinnamon are essential—they're the aromatic soul of keema. If you can't find whole pods, ground cardamom at one-third the amount works, but toasted whole seeds are superior. Pre-grated spices? Toast them first**—blooming in ghee unlocks their full potential.

This dish rewards patience—simmering transforms tough beef into melt-in-your-mouth perfection. Store leftovers in an airtight container for up to 5 days in the fridge, or freeze for 3 months. Reheat gently on low to preserve texture. For meal prep, double the batch and portion into glass containers**—keeps flavors vibrant. The sauce thickens as it cools, so add a splash of water if needed when reheating. Garnish with fresh cilantro just before serving to brighten the dish.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this—just brown the beef, simmer the tomatoes and yogurt, and let the spices do their thing. No chopping, no fussing, and one pot to scrub later.
  • Ghee Glow-Up: That slow-cooked ghee turns the beef so tender it melts in your mouth, while the cumin and yogurt give it a tangy, smoky depth. Honestly, the first bite makes you forget you’re eating a weeknight dinner.
  • Leftovers That Shine: Keema tastes better the next day—seriously. I often make a double batch, then use it for wraps, toast, or even stuffed peppers. It’s my lazy genius for midweek lunches.
  • Budget Beef Boost: Bone-in chuck roast is cheap, but it delivers like a steakhouse cut. The yogurt and tomatoes stretch it into a hearty meal, and the spices make it feel special without breaking the bank. (Yes, even on a Tuesday night.)

Step-by-step instructions for authentic beef keema

Master this traditional technique for rich, aromatic beef simmered in yogurt and tomatoes.

1

🔥 Step 1: Bloom the Whole Spices in Ghee

Heat the 0.5 cup ghee or clarified butter in a heavy-bottomed pot over medium-low heat. Add the 4 whole green cardamom pods, 1 whole cinnamon stick, 2 tsp ground cumin seeds, and 1.5 tsp ground coriander seeds. Let them bloom for 2-3 minutes until the spices release their deep, toasty aroma and the ghee becomes fragrant.

This step is crucial—it develops the complex spice base that defines authentic keema. Watch for the spices to darken slightly and fill your kitchen with warm, earthy notes. If the ghee starts to smoke, reduce the heat immediately to prevent burning these delicate aromatics.

2

🍳 Step 2: Sauté Aromatics Until Golden

Add the 1 whole finely chopped onion and cook for 8-10 minutes until golden brown, stirring occasionally. Then add the 2 tbsp finely grated fresh ginger root and 6 cloves roughly chopped garlic, cooking for another 2 minutes until the raw garlic aroma disappears and the mixture turns a rich caramel color.

Here's the thing—don't rush this step. The onions should develop a deep, sweet caramelization that forms the flavor foundation. If they stick, add a splash of water and scrape the bottom with a wooden spoon to release all those flavorful browned bits. The ginger and garlic should melt into the onions completely, creating a cohesive aromatic base.

3

👨‍🍳 Step 3: Cook the Beef Until Tender

Add the 2 lb bone-in beef chuck roast cubes and cook for 5 minutes, stirring to coat evenly with the spiced ghee. Then pour in the 1 cup plain whole-milk yogurt and 1.5 tsp salt, stirring gently to combine. The mixture will look curdled at first, but that's normal.

Reduce heat to low and cover the pot. Let the beef simmer gently for 45-50 minutes, stirring occasionally, until the meat becomes fork-tender. The yogurt will break down into a creamy sauce, and you'll see the beef absorbing all those rich spices. If the mixture looks too dry, add ¼ cup water to maintain moisture.

4

🥘 Step 4: Incorporate Tomatoes and Final Spices

Add the 4 whole peeled, deseeded, and chopped ripe Roma tomatoes, 1 tsp Kashmiri red chili powder, and 0.5 tsp turmeric powder. Stir well to combine, then add the 2 whole slit green chilies. Increase heat to medium and simmer uncovered for 15-20 minutes until the tomatoes break down into a thick, glossy sauce.

This is where the magic happens—the tomatoes release their natural acids, balancing the richness of the yogurt and beef. The sauce should reduce to a thick, velvety consistency that coats the back of a spoon. Taste and adjust seasoning with additional salt if needed. The final dish should have a perfect balance of spice, acidity, and richness.

5

⏰ Step 5: Rest and Serve with Traditional Pairings

Remove from heat and let the keema rest for 10 minutes to allow the flavors to meld completely. Serve hot with traditional accompaniments like steamed basmati rice, naan bread, or crusty roti. The dish should have a beautiful deep red color from the tomatoes and chilies, with tender beef that falls apart easily.

For authentic presentation, garnish with fresh cilantro leaves and serve immediately while still warm. The yogurt should create a creamy, slightly tangy sauce that perfectly complements the rich, spiced beef. This method ensures you capture the true essence of traditional keema—comforting, aromatic, and deeply satisfying.

👨‍🍳

Pro Tips For Making Authentic Beef Keema

  • Sear the Chuck First: Before you even think about adding tomatoes or yogurt, get that bone-in chuck roast screaming hot in ghee until it’s deep brown—fat should crackle and pull away in sheets. I learned this the hard way: skipping the sear means flavor hiding in the sauce instead of clinging to the meat like it belongs there. ---
  • Bloom the Cumin Low: Toast those ground cumin seeds in ghee over low heat—just until they smell earthy and fragrant, not burnt. High heat turns them bitter fast, and you’ll taste it in every bite. (Yes, even if you’re impatient like me.) ---
  • Strain the Tomato Paste: After cooking the Roma tomatoes into a pulp, strain out the skins and seeds through a fine-mesh sieve. The result? A silky, seedless base that blends into the keema without grit—my grandmother swore by this, and she was right. ---
  • Temper the Yogurt Slowly: Warm the yogurt gradually by mixing it into the simmering sauce off the heat, then returning it to low. Dumping cold yogurt straight in curdles it faster than you can say “disaster.” (Your future self will thank you.)

Perfect pairings for this authentic beef keema

Rice Pairings

Serve your rich beef keema with steamed basmati rice for the ultimate South Asian meal combo. I recommend using long-grain basmati from brands like Tilda or India Gate—these varieties stay fluffy and distinct when served alongside the hearty curry. For extra authenticity, cook the rice with a pinch of saffron or cardamom pods infused in the water. 💛

For a more rustic touch, try jeera rice (cumin-infused basmati) or biryani-style rice made with saffron, fried onions, and cashews. The nutty, aromatic rice perfectly balances the yogurt's tang and the beef's richness. I often make a big batch of rice and reheat it gently with a splash of water before serving.

Bread Sides

No keema meal is complete without warm, freshly baked bread. My go-to is homemade naan brushed with garlic-ghee—the soft, pillowy texture soaks up the sauce beautifully. For a quicker option, use store-bought naan from brands like Tandoor or Patel Brothers, and warm it in a cast-iron skillet for 1-2 minutes per side until crispy.

For a gluten-free alternative, serve with roti or phulka, which are easier to find in Indian grocery stores. I also love adding garlic paratha—the buttery, flaky layers contrast perfectly with the creamy keema. Keep the bread warm in a cloth-lined basket to maintain freshness.

Cooling Raita

A dollop of cucumber-mint raita cuts through the richness of the keema like a breeze. Whisk together 1 cup plain yogurt, ½ cup grated cucumber, 2 tbsp chopped mint, ½ tsp roasted cumin powder, and a pinch of salt. Chill for 30 minutes before serving to let the flavors meld. This cooling contrast is non-negotiable in my book! 🌿

For a tangier option, try boondi raita—tiny fried chickpea flour balls mixed into yogurt with chaat masala. Or, for a smoky twist, add ½ tsp Kashmiri chili powder and a pinch of black salt (kala namak). Serve raita in small bowls on the side for guests to scoop as they please.

Pickled Accents

Add a quick-pickled onion or mango chutney to brighten the plate. For pickled onions, thinly slice 1 red onion, soak in a mix of ½ cup vinegar, 1 tbsp sugar, and ½ tsp salt for 30 minutes. The tangy crunch balances the creamy keema beautifully. I also love mango pickle from brands like MTR for a sweet-spicy contrast. 🍎

For a fresher option, slice radishes or green apples into thin rounds and serve with a sprinkle of chaat masala. These crisp, acidic elements elevate the dish without overpowering the flavors. Keep pickles and chutneys in small ramekins for easy serving.

Drink Pairings

A masala chai made with black tea, cardamom, ginger, and cinnamon is the perfect beverage to accompany keema. Brew a strong cup using Tata Tea or Tetley and sweeten with honey. The warmth of the spices complements the dish’s aromatic profile. For a caffeine-free option, try saffron-infused milk—simmer ½ cup milk with a pinch of saffron and 1 tsp sugar for 5 minutes. 🍵

For alcohol lovers, a dry white wine like Chenin Blanc or Sauvignon Blanc cuts through the richness. The acidity in the wine mirrors the yogurt’s tang, creating a harmonious pairing. If you prefer beer, a light lager or wheat beer keeps the meal refreshing without overpowering the flavors.

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 20g100%
Cholesterol 185mg62%
Sodium 1150mg49%
Total Carbohydrate 22g8%
Dietary Fiber 4g14%
Sugars 10g
Protein 45g90%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why does authentic keema use bone-in beef instead of ground meat?

Bone-in beef creates a richer, deeper flavor profile that ground meat simply can't match. The bones release collagen during slow cooking, which transforms into gelatin, creating a naturally thickened, velvety sauce. This technique also yields more tender meat that falls apart easily—perfect for the creamy yogurt-tomato sauce. Plus, the marrow adds an extra layer of richness that's essential for authentic keema.

2

Can I make keema without yogurt? What substitutes work best?

While yogurt is traditional, you can substitute with coconut yogurt or thick buttermilk for a similar tang. For a dairy-free option, use unsweetened almond milk mixed with 1 tbsp lemon juice and ½ tsp cream of tartar—just reduce the simmering time to 30 minutes to prevent drying. The yogurt tenderizes the meat and balances the spices, so any substitute should mimic its acidity and creaminess.

3

How do I prevent the keema from becoming too dry or greasy?

Start with bone-in beef—the natural juices keep it moist. If the sauce thickens too much, add ¼ cup water in 5-minute increments while simmering. For greasiness, skim excess fat after the initial browning step. The yogurt helps emulsify the sauce naturally, but if needed, stir in 1 tbsp cornstarch mixed with water at the end for thickening. Always cook on low heat after adding tomatoes to preserve moisture.

4

What's the difference between Pakistani and Indian keema?

Pakistani keema often uses more yogurt and less tomato, creating a thicker, creamier consistency with a milder spice profile. Indian versions tend to have a tangier, slightly sweeter sauce from more tomatoes and a touch of sugar or jaggery. Pakistani keema also frequently includes fresh herbs like cilantro and mint at the end, while Indian styles may use more dried spices. Both are delicious—choose based on your preference for richness versus acidity!

5

Can I make keema ahead of time? How does it reheat?

Keema tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days or freeze for 3 months. To reheat, use low heat on the stove with a splash of water—never microwave directly. For best results, reheat just until warmed through, then let it sit 5 minutes** before serving. The sauce may thicken further; thin with water if needed.

★★★★★4.5(3 reviews)
Categories Soups & Stews