Basic Korma Sauce Recipe: Velvety Spiced Base for Curries

Basic Korma Sauce Recipe: Velvety Spiced Base for Curries example with annotations

This velvety korma sauce transforms any curry with its rich, aromatic base. I’ve perfected this version to deliver a smooth, mildly spiced foundation that pairs beautifully with chicken, lamb, or vegetables.

With a balance of yogurt, cream, and warm spices, it creates a restaurant-quality sauce in under 30 minutes. Store it for up to a week or freeze for future meals.

👨‍🍳
Difficulty
Medium
🌿
Diet
Vegetarian
⏱️
Total Time
30 min
🔥
Calories
Low Cal

Ingredients for Basic Korma Sauce

Rich, aromatic, and restaurant-quality in under thirty minutes. Nothing complicated here.

Ingredient Amount Notes
Plain Yogurt 🥛 1 cup Full-fat for creaminess
Heavy Cream 🥛 ½ cup Or coconut cream for richness
Onion 🧅 1 whole Finely chopped for base
Garlic Cloves 🧄 4 cloves Minced for depth
Fresh Ginger 🌿 1 tbsp Grated for freshness
Ghee 🧈 2 tbsp Or vegetable oil for cooking
Ground Coriander 🌿 1 tbsp Toasted for aroma
Ground Cumin 🌿 1 tsp Warm and earthy
Ground Cardamom 🌿 ½ tsp For fragrant warmth
Ground Cinnamon 🌿 ¼ tsp Just a hint
Salt 🧂 1 tsp Adjust to taste

The yogurt and cream are non-negotiable for that velvety texture. Full-fat yogurt is key—low-fat just doesn’t deliver. Greek yogurt works if that’s what you’ve got. I grab mine from Whole Foods—their organic full-fat is perfect. Ghee adds that authentic richness, but butter or neutral oil will do in a pinch. Don’t skimp on the spices—Penzeys is my go-to for fresh ground coriander and cumin.

No ghee? Clarified butter or coconut oil work just as well. Short on cream? Half-and-half or coconut cream keep it lush. If you’re missing a spice or two, garam masala at half the amount can sub for the cardamom and cinnamon. Fresh ginger is ideal, but ground ginger at one-third the amount does the job. The onion can be shallots if you want a sweeter note.

Keeps covered in the fridge for up to 1 week, or freeze for 3 months (thaw overnight before using). I always make a double batch—it’s just as easy and saves time later. Stir before using if it separates a bit.

❤️

Why You’ll Love This Recipe

  • Minimal Chopping Required: I just toss the onion, garlic, and ginger in the blender—no knife skills needed.
  • Deep, Creamy Flavor: The yogurt and heavy cream create this velvety richness that coats every bite.
  • Freezer Friendly: I make a double batch and freeze half for those nights I’m too tired to cook.
  • Budget Stretcher: A handful of pantry staples and a few fresh ingredients feed my family for days.

Step-by-Step Instructions for Basic Korma Sauce

This method delivers a rich, creamy sauce with balanced spices every time.

Step 1: Sauté Aromatics in Ghee

Heat the 2 tablespoons ghee in a heavy-bottomed saucepan over medium heat until it shimmers. Add the finely chopped onion and cook for 8-10 minutes, stirring frequently, until it turns golden brown and sweet.

This slow cooking caramelizes the onion’s natural sugars, building a deep flavor foundation. I find this is the step where most home cooks rush—don’t. The onion should be soft and golden, never burnt. When it’s ready, add the minced garlic and grated ginger, stirring for 1 minute until fragrant.

Step 2: Toast and Bloom the Spices

Reduce heat to medium-low and add the ground coriander, ground cumin, ground cardamom, and ground cinnamon. Stir constantly for 30-45 seconds until the spices release their aromas and the mixture looks slightly pasty.

This toasting step is crucial—it wakes up the spices’ essential oils and prevents a raw, powdery taste. You’ll know it’s ready when the mixture darkens slightly and the air fills with a warm, fragrant scent. Immediately add 1 teaspoon salt to balance the spices and prevent burning.

Step 3: Temper and Incorporate the Yogurt

Remove the saucepan from heat and let the spice mixture cool for 2 minutes. This prevents curdling when you add the 1 cup plain yogurt. I always use full-fat yogurt here—it creates that signature velvety texture korma sauce is known for.

Add the yogurt 1 tablespoon at a time, stirring vigorously after each addition until smooth. This tempering process ensures the yogurt blends in evenly without separating. Once fully incorporated, return the pan to low heat and cook for 3-4 minutes, stirring constantly.

Step 4: Finish with Heavy Cream

Pour in the ½ cup heavy cream and stir to combine. Increase heat to medium-low and simmer for 5-7 minutes, stirring occasionally, until the sauce thickens slightly and coats the back of a spoon.

Watch for the sauce to turn a pale, creamy tan color and develop a silky texture. If it thickens too much, add a splash of water to reach your desired consistency. The sauce should be rich but still pourable. Taste and adjust salt if needed, though I find the 1 teaspoon is usually perfect.

👨‍🍳

Pro Tips For Making Basic Korma Sauce

  • Temper the Yogurt: Always mix plain yogurt with a little warm sauce before adding it directly to the pot—I learned this the hard way after splitting a whole batch. A slow, steady whisk keeps it smooth.
  • Brown the Onions: Cook the onions until deep golden brown, not just soft. This builds the sweet, rich base that makes korma sauce taste authentic, not flat.
  • Skip Raw Garlic: Resist the urge to toss in raw garlic and ginger at the end. Sautéing them with the onions mellows their bite and blends the flavors properly.
  • Finish with Cold Cream: Stir in heavy cream at the very end, off the heat. Adding it cold prevents curdling and gives the sauce that signature creamy, velvety texture.

Common Mistakes When Making Perfect Results

Skipping the Tempering

Adding 1 cup yogurt directly to hot spices will cause it to curdle instantly. I always remove the pan from heat and let the spice mixture cool for 2 minutes first. Then, add yogurt 1 tablespoon at a time, stirring vigorously between each addition. 💡

Rushing the Onions

Cook the 1 onion for the full 8-10 minutes until golden brown. Undercooked onions will taste harsh and ruin the sauce’s sweet depth. I stir frequently to prevent burning, which adds bitterness.

Overheating the Cream

Once you add the ½ cup heavy cream, keep the heat at medium-low. Boiling can cause separation. I simmer gently for 5-7 minutes until it coats the back of a spoon, stirring often.

Using Low-Fat Yogurt

The recipe requires full-fat yogurt for that signature velvety texture. Low-fat versions lack the richness and can make your sauce thin or grainy. I’ve learned this the hard way—stick to full-fat.

Skipping Spice Toasting

Toast the ground coriander, cumin, cardamom, and cinnamon for 30-45 seconds on medium-low heat. Skipping this step leaves spices raw and dull. I know it’s ready when the aroma fills my kitchen. 🌟

Ignoring Consistency

If the sauce thickens too much, add a splash of water to reach a pourable consistency. It should coat the back of a spoon but still flow easily. I check this right before removing it from heat.

Nutrition Facts

Servings 4
Amount Per Serving
Calories 240kcal
% Daily Value
Total Fat 22g28%
Saturated Fat 14g70%
Cholesterol 60mg20%
Sodium 480mg21%
Total Carbohydrate 8g3%
Dietary Fiber 1g4%
Sugars 4g
Protein 3g6%
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

Can I use Greek yogurt instead of regular?

Yes, but use full-fat Greek yogurt for best results. It’s thicker, so you may need to add a splash of water to reach the right consistency. The tanginess works well with the spices.

2

How long can I store leftover sauce?

Store in an airtight container in the fridge for up to 1 week. It also freezes well for 3 months—thaw overnight in the fridge before using.

3

What can I substitute for ghee?

Use butter or coconut oil for similar richness. Vegetable oil works in a pinch but lacks the depth of flavor that ghee provides.

4

Why did my sauce separate?

This usually happens if the yogurt wasn’t tempered or the sauce boiled too vigorously. Remove from heat and whisk vigorously to reincorporate.

★★★★★4.9(15 reviews)
Brandon Thompson