Curry is a cooking method, not one dish: you soften aromatics in fat, bloom spices in that fat, then simmer a protein or vegetables in a spiced liquid until everything tastes like one thing. Learning how to make a curry from scratch takes about 45 minutes for a vegetable version and closer to two hours for a chicken or lamb curry, and almost all of it is hands-off simmering time.
There is no single right recipe, so this guide gives you the structure that every curry shares and the places where you make the choices. Start with the mildest version you can tolerate, taste the sauce before the protein goes in, and keep backups on hand for salt, acid and fat. Experienced home cooks tend to arrive at the same conclusion: the sauce is the dish, and everything else is an ingredient in it.
What You Need to Make Curry From Scratch

You need six groups of ingredients, and each one does a job you can taste. Leave a group out and you will notice it within the first spoonful.
The fat
Oil, ghee or butter is the carrier. Spices are fat-soluble, so what you bloom them in ends up coating your palate. Ghee gives a nutty, round flavor; vegetable oil keeps it lighter; butter suits creamier tomato-based curries. One to two tablespoons for a family-size pot is plenty.
The aromatics
- One onion, diced, is the backbone of most Indian-style sauces.
- Two to four garlic cloves and a thumb-sized piece of ginger, minced or blitzed into a paste, form the second layer.
- Fresh chilies, scallions and curry leaves add heat and fragrance that dried chili powder cannot fully replace.
The spices
A starter shelf of turmeric, cumin, coriander, chili powder, garam masala and a black pepper is enough for dozens of curries. Add whole spices when you can: cumin seeds, mustard seeds, cardamom pods, cinnamon, cloves and bay leaf. Whole spices release aroma slowly during a long simmer, and popping mustard seeds in hot oil is the quickest signal that your pan is ready.
The base
This is the liquid that becomes sauce. Full-fat coconut milk gives body and sweetness, chopped tomatoes give acidity and a sharp edge, plain yogurt adds richness without dairy-free problems, and homemade chicken broth, which you can learn to make with how to make chicken stock from bones, gives the deepest savory note. Choose one or combine two.
The protein or vegetables
Chicken thighs, chickpeas, firm tofu, paneer and root vegetables all work. Thighs stay moist on a long simmer; breasts dry out unless you add them late or cut them small.
The finishes
Salt, a squeeze of lemon or lime, fresh cilantro and a spoonful of cream or coconut cream added at the end. These fix a finished curry faster than any other ingredient.
The equipment
A heavy pot with a tight lid does nearly all the work. A Dutch oven or a karahi-style wide pan gives you faster reduction and better browning; a regular saucepan works but takes longer to cook the onions down. A wide skillet lets you bhuno without crowding, and a small spice grinder or mortar turns whole spices into powder in seconds. If you have none of this, a saucepan, a wooden spoon and a knife will still get you a good curry.
Swaps that keep the structure intact: coconut milk for cream, yogurt for coconut milk if you tolerate dairy differently, tamari for soy or fish sauce, and any firm vegetables in place of root vegetables. What you should not skip is fat, aromatics and salt.
Step-by-Step

Every curry from scratch runs the same five stages, whether it is Thai, Indian or a coconut vegetable bowl. The sections below go through each one in order.
How to Prepare the Vegetables and Protein
Cut everything to a similar size so it finishes at the same time. Cubes of one-inch cauliflower, carrot and potato cook through in roughly 15 to 20 minutes in a simmering sauce; meat needs far longer, so it goes in on a different schedule.
Dry your meat and season it with a little salt before it hits the pan, then let it sear in hot oil until the edges turn golden. Crowding the pot drops the temperature and steams everything instead of browning it, which is why batches taste better than a full pot at once.
For a vegetable curry you can skip the sear entirely and add sturdy vegetables with the onions, saving delicate ones like spinach and peas for the last five minutes. If you like yogurt or coconut milk in a marinade, coat the protein and rest it 30 minutes before cooking; the acid softens the meat and it stays tender through the simmer. Leftover roasted chicken works too, which is one reason I keep a simple chicken grain bowl recipe on hand during the week.
How to Cook the Aromatics Without Burning Them
Heat your fat over medium heat, not high. Add the onion with a pinch of salt and cook 6 to 10 minutes, stirring every minute or two, until it turns soft and translucent and starts to catch light gold at the edges.
This slow frying, called bhuno, is the single technique that separates a restaurant curry from a disappointing one. Ten patient minutes here replaces the flavor you would otherwise try to fake with more spice. You know the bhuno is finished when the oil separates from the mixture and sits in small glossy pools around the edge of the pan.
Add garlic, ginger and chilies next and stir for 60 to 90 seconds until fragrant. They are done when they smell sweet rather than raw, and they go in after the onion because they burn fast once the pan gets hot.
How to Toast Curry Spices and Build the Sauce
Add whole spices to the hot oil first and stir for 30 seconds until they smell fragrant. Add ground spices and toast 30 to 60 seconds, stirring continuously, until the fat turns a deeper color and the kitchen smells like the curry you are about to make.
Ground spices scorch in seconds over high heat, which turns them bitter and nothing else. If you are unsure, the smell is your guide: muted means raw, acrid means burnt, and rich means ready.
Now build the sauce. Pour in chopped tomatoes or coconut milk and stir, scraping the bottom of the pan where the browned bits hold the most flavor. Add 200 to 400 ml of water, broth or coconut milk depending on how thick you want the result, plus salt to taste at this point rather than at the end.
Keep in mind that restaurant curries use a lot more fat than most home cooks expect, and the fat is not decoration. If you want that depth, add a tablespoon of ghee or coconut cream and let it melt into the sauce at the end of the simmer.
How to Simmer Curry Until the Flavor Develops
Bring the sauce to a boil, then drop the heat to a steady bubble you can hear from across the kitchen. Add your protein or sturdy vegetables, cover and simmer for 20 minutes for vegetables, 35 to 45 minutes for chicken thighs and 90 minutes or more for tougher cuts like lamb or beef.
Leaving the lid off lets steam escape and the sauce reduce. Putting it on traps steam and the sauce stays thin, so use the lid early when you want the flavor to meld and take it off for the last 10 minutes when you want body.
You know it is ready when the sauce coats the back of a spoon, the vegetables bend under a fork without falling apart, and the meat shreds. Taste for salt and for sour-sweet balance at this point, since this is the last chance to fix the sauce cheaply.
How to Adjust Curry Flavor, Heat, and Thickness
Most problems with a curry are one adjustment away from solved, and all of them happen after cooking.
- Too bland: add salt in small amounts, then a squeeze of lemon or lime. Acid fixes flat curry more often than more spice does.
- Too hot: stir in coconut milk, yogurt or cream. Dairy casein binds capsaicin and takes the edge off within a minute.
- Too thick: loosen with warm water, broth or coconut milk a quarter-cup at a time and simmer two minutes before tasting again.
- Too thin: uncover and simmer, or mash a few cooked vegetables against the side of the pot and stir them back in.
- Bland after reheating: a fresh squeeze of citrus at the table restores more flavor than doubling the salt.
Curries improve overnight as the flavors marry, so making it a few hours ahead or for the next day is a genuine advantage, not a compromise.
Common Mistakes
Nearly every disappointing curry comes down to one of these eight, and each has a straight fix.
Burning the spices
Ground spices left on high heat turn acrid fast. Bloom them in medium heat for under a minute, and add any delicate spice such as garam masala off the heat at the very end.
Skipping the bhuno
Rushing the onions leaves a raw bite and no sweetness in the sauce. Give the onions a full 8 to 10 minutes at medium heat and go by smell and color, not by the clock.
Crowding the pan
Too much food drops the temperature and steams instead of browns. Cook in batches, or use a wider pot, and leave room for stirring.
Adding dairy too early
Yogurt, milk and cream can split and turn grainy if they boil hard. Add them at the lowest heat and stir through at the end.
Thinning the sauce with cold liquid
A splash of cold water dulls flavor and slows the cook. Add warm liquid instead, and let the sauce come back to a simmer before adjusting seasoning.
Seasoning only at the end
Salt added at the finish tastes flat because it never moved into the sauce. Season at every stage, then correct at the table.
Using a crowded pan for whole spices
If the seeds sit in a heap they scorch before they toast. Shake them into the oil, spread them across the base and keep them moving for 30 seconds.
Skipping the acid
A curry that tastes dull is often missing lemon, lime or tamarind rather than more salt. A small squeeze at the end wakes up the whole pot.
Frequently Asked Questions
Do I need curry powder to make curry from scratch?
No. Curry powder is a blended convenience, not the definition of the dish. To skip it, toast whole cumin and coriander seeds, grind them with turmeric and a little chili, then bloom that blend in hot fat before adding liquid. A rough starting ratio is two parts cumin, two parts coriander, one part turmeric, adjusted with salt and chili to taste.
How spicy should I make a curry for beginners?
Start with half the chili in any recipe and keep the rest in a small bowl on the counter so you can add it as you taste. Heat built from whole chilies or fresh ginger is gentler and more aromatic than heat from chili powder. If the sauce tastes hot but flat, the answer is usually more acid, not more spice.
What is the best way to thicken curry?
Simmer uncovered so the sauce reduces, and stir often so it does not catch on the bottom. For faster results, mash a few cooked vegetables or a spoon of lentils into the sauce and stir them back in. Cornstarch slurks are the last resort because they mute aroma and turn a glossy sauce cloudy.
Can I make curry without coconut milk?
Yes. Chopped tomatoes plus stock make a sharper, lighter sauce that suits North Indian styles, and plain yogurt gives creamy body without coconut. For a Thai-style curry, a spoon of peanut butter or cashew butter stands in for the richness and adds nutty depth. You lose sweetness, so finish with a little sugar or palm sugar.
How should I store and reheat curry I made ahead?
Cool it fast, move it to a fridge-safe container within two hours and use it within three to four days. For longer keeping, freeze it flat in bags or in single portions in an ice cube tray, where it keeps for up to three months. Reheat gently on the stove with a splash of water, stirring, and add fresh citrus after it is hot.
Conclusion
The sequence is short enough to hold in your head: prepare everything first, cook the onions slowly until sweet, bloom the spices in fat, add liquid and salt, then simmer covered and finish uncovered. Each stage solves a different problem, and skipping one is why a curry tastes flat.
Start by chopping your aromatics and measuring your spices before the heat goes on, because how to make a curry from scratch is mostly a matter of preparation and patience rather than technique. Give the onions their full ten minutes, taste the sauce before the protein goes in, and keep salt, acid and coconut milk nearby to adjust at the end. If you are serving a table of people, a bowl of smooth hummus and some rice on the side covers the rest of the meal without extra work.