I made a curry using onions, garlic, tomato passata, coconut milk, coriander (leaf and ground), cumin, cardamom, star anise, ginger and chilli powder. I tasted it and it felt like it was missing something, I don't really know the words to describe it but I would compare it to a rock song with no bass if that makes sense. I added more of the same ingredients but it still had the same problem. After a while I kind of panicked and added basically everything in my cupboard hoping that something would work, I added paprika, peri peri salt, mixed herbs (thyme and oregano I think), cinnamon and clove, the curry still tasted kind of flat and one-note even after all of that. It tasted more like a fancy gravy than a curry. What was it missing?
23If all you say is true: Get a COVID test ;-). “I’ve bought this candle before, and the fragrance would fill the room. This one barely has a scent. Boo”.– Peter - Reinstate MonicaJul 17, 2022 at 17:03
8To my palate coconut milk significantly mutes the flavour of spices. Try halving the coconut milk component. Alternatively, coconut milk doesn't need to be cooked, just add it in at the end to taste.– KingsleyJul 18, 2022 at 0:29
1@Kingsley - that's a point I hadn't noticed & didn't include in my answer. Sure coconut will mute to some extent… but more notably, tomatoes & coconut in the same curry is a bit at odds with the other ingredients. It's not impossible, but it's mixing ideas from opposite ends of a very large country/countries. Keralan cuisine tends to use both [though fresh not canned tomatoes], but the spices are different to what would be a Northern dish using the OP's ingredients without the coconut. [Ive added a bit to my answer.]– TetsujinJul 18, 2022 at 11:07
3The difference between good and bad quality spices is enormous– epsJul 18, 2022 at 14:11
1After seeing all the ingredients list, I think in the last you need to add Garam Masala (en.wikipedia.org/wiki/Garam_masala). It enriches the flavor.– G_realJul 18, 2022 at 15:19
In addition to Willk's answer, which may have discovered the age of some of your spice rack contents - cumin & other short-life ground spices can sometimes be flat even when new, from supermarkets. Whole seed, fresh ground on demand, can be shelf-stable for longer.
Also, I'd be inclined to use fresh or frozen ginger - pulped works well from frozen. Ground ginger has the wrong flavour profile.
Contra to expectation, garlic powder is often used in restaurant-style curry bases. Alternatively, frozen, pulped can be used, but sometimes I will add a bit of powdered near the end too. [Watch it doesn't go lumpy - premix with a little water if adding late to a sauce]
Also, hunt down some fenugreek powder for an instant 'Ooh, it's just like a curry' aroma. You can add this late in the cook.
I always consider a curry sauce to be a two-stage cook [same with a good chilli].
You get your 'bass' from the long cook, your 'treble' from what you add near the end.
Ground coriander goes in early, as part of your bhuna/bhogar [wet or dry frying] at the start. If you use tomato puree [by UK definition, the stuff in a squeezy tube] then use a wet-fry bhuna and add the puree late in this stage. It takes some bitterness out of it. Using a bhuna rather than bhogar makes it harder to burn stuff too - much easier if you're not practised at this.
Garam masala [basically a blend of aromatics] goes in late. If you can find them, such as ajwan seeds can add a piquancy late, or sprinkled over when serving.
Fresh coriander goes in right as you serve, or just sprinkled on top. Its flavour starts to dissipate as soon as it's heated. To keep it tasting bright & fresh… it has to be bright & fresh.
Some other things can go in both early and late.
Onions can be in your base sauce, then some newly-fried added ten minutes before serving. Processed tomatoes early, & fresh tomatoes late. The same for fresh chillies, some to cook down into invisibility, some late as a 'brightener'.
One additional thought… most people seriously underestimate the amount of oil/fat that goes in a curry. Your sauce base is essentially onion puree & ghee. There's really very little water added. Use ghee if at all possible rather than a cooking oil of any sort. It has a distinct flavour. Even vegetable ghee has that flavour somehow added to it.
Basic bhuna method.
Take all your ground spices & blend to a paste with a little water in a cup - aim for 'tomato ketchup' consistency.
Heat your ghee. If you have any whole spices, mustard seeds etc, drop them now [this kind of cheats in a quick bhogar without burning anything], then a quick stir & add your bhuna mixture. Fry gently until the water evaporates off & the oil fully blends with the sauce base, then starts to separate out again. Garlic/ginger puree can go in now. Keep it moving all the time to blend & prevent burning. Drop your onion puree & keep this going until your onions clarify. Watch out for it spitting, rather gloopily.
Salt to taste [but check again later after any other ingredients go in, under-salting will really weaken the flavours].
That's your base. Simmer for at least 2 hours.
Anything else after this point defines your "curry".
 The bhogar method is to fry spices directly in hot oil before adding any liquids. This can produce a more intense flavour, but is very easy to burn if not experienced. Bhogar is sometimes called tarka or tadka - I can only assume this is from different language origins, but I'm just a Brit & have no real clue on languages. Same applies to Balti vs Karahi, same thing, different place. Both originally referred to the small wok-like pan it was cooked in, not to what was cooked in it.
As regards your 'extra, late ingredients'
Paprika, fine; though there is a similar Northern Indian sub-continent version - Kashmiri Mirch. Similar to paprika in that it adds a lot of colour & flavour without adding any 'heat'. No need to be sparing with it, you can use a tablespoon or more.
Peri-peri salt - well, again OK as it's another red chilli very similar to bird's eye, though watch the salt levels.
Oregano/thyme - no, not really appropriate.
Cinnamon, clove - absolutely. Keep the quantities low, as each, like cardamom, can be overpowering if not used sparingly.
I only just noticed you have processed tomatoes and coconut milk in your recipe. That's an odd combination. Northern dishes would go with the tomatoes, Southern with the coconut. Keralan cuisine would use both, but the tomatoes would be fresh. The rest of your ingredient list would be better suited to a Northern dish, so I'd definitely lose the coconut next time. All of the above methods are 'Northern' methods too. Southern dishes use a lot of dry marinades, again contra to the suggestions above.
Also, depending on the 'wetness' of your tomato product, that's overall going to be way too watery. That's why my recipe idea above uses purée, to keep the added water content right down.
what a great walkthru. I am going to refer to this. A thought re thyme - Jamaican curries (which are based on Indian curries) routinely include thyme which as you say Indian curries do not. Jamaican also has allspice which I have to think the Indians would merrily include if they had it.– WillkJul 17, 2022 at 15:15
Well, historically, all chillies [all peppers] come from Central & Southern America [as do potatoes & tomatoes], most of the rest of a curry comes from around Asia. Oregano & thyme are European [True Mexican oregano is entirely unrelated to European, though they now grow both]. None of this final melange of flavours we have in modern food existed before Atlantic trade routes were added to the existing spice road that worked between Europe, India & China for several hundred years prior, & Europe was quite late to that road, earlier it only came as far West as the Middle East, Persia as was. Jul 17, 2022 at 15:59
Old spices? If you are not making curry often maybe your spices are aged. They lose their pop. Your mix looks good. Try again with new. Buy whole spices when you can - they keep better.
Toast spices? A trick to bring out flavor. Pan toast. Have some mustard seeds in there and black pepper. When the mustard seeds start hopping around spices are done. I toast spices whole then let them cool then grind them up before adding.
Toasted nuts? I think toasted nuts can serve as the bass (to use your analogy) in a curry. Maybe more of a mole? Almonds are good. The last curry I made I used shelled sunflower seeds, toasted in the pan after the spices.
A little sour? Maybe less orthodox for an Indian style curry. A hit of vinegar or lemon juice once you are done cooking can bring out flavors.
Overcooked? Then the high flavor notes cook away. I killed many a curry in the slow cooker before I figured this out.
You don't like cardamom? It can be a weird flavor. I suspect there is genetic variaton in how it tastes. It can sort of take over. Go easy on the cardamom.
9I think it's probably the cumin and coriander, i checked the containers and the best before date on both was 2017, oops. Jul 16, 2022 at 21:57
5Coriander in particular does not age well.– barbecueJul 17, 2022 at 13:05
2btw, the 'fix' for overcooked is to not dump it all in at once - The main sauce can sit there all day with no harm [& will be even better tomorrow] & save the brighter overtones for later, last 20 mins in a slow cooker. Garam masala, fenugreek, fried onions, tomatoes, extra garlic etc. Jul 18, 2022 at 14:17
Toasting the spices (and including the whole mustard seed) is a really useful technique in any case. (Essential for a dal tadka, which is a staple in my kitchen.)– TheodoreJul 20, 2022 at 16:45
The answer is definitely a lack of salt.
Particularly if you're new to cooking or new to cooking dishes like curries and stews, you might not be accustomed to the amount of salt you need to add to your food to bring out the flavor of the dish.
Salt your curry as you're sauteing your onions and/or cooking your protein, and then taste regularly during the simmering process; add salt as needed.
1This makes sense. I was going to say similar, but decided not to face the indignant wave of the "I never put additional salt in my food, it's bad for you" fraternity. I just didn't need the hassle. ;) Jul 17, 2022 at 17:36
6I recently made a tikka masala and forgot the salt in the marinade (which is actually the main source of salt in my recipe how I make it at least). Definitely tasted “flat” or “meh”, and when I added just a little bit of salt when reheating it, it was suddenly back to what I usually expect from that recipe. This was probably the most stark example for me of how salt can make or break a dish (growing up we didn’t use salt too much, so I’m used to things not having much salt, but this was seriously noticeable) Jul 18, 2022 at 1:30
Careful with salt though: The more stringent public health recommendations amount to about 3 to 4 grams (just over 1/2 teaspoon) per day (per adult person) as the upper limit.– SimonJul 19, 2022 at 18:17
Apart from the excellent answers by Willk and Banjoe, I'd also say you need to consider the "Layering" of heat from different ingredients. By altering the proportions of ginger, garlic, black pepper, chilli powder, fresh and dried chillies, mustard seeds etc, you will get a slow build-up of heat with lots of flavour.
Exactly how harsh and where you want to end up on the fiery scale is a personal choice, but by using multiple sources of spicy heat you will add extra dimensions to your curry.
Just make sure you fry everything in plenty of oil, this extracts the natural oils from the spices etc. It is important you don't burn them or overdo it though, this will have the opposite effect.
I'm surprised no one has mentioned what finally made my curry pop...fermented fish paste.
I had a store-bought curry sauce whose results tasted the way I expected curry to taste, so I pored over the ingredients to see what it was using that I didn't traditionally use. And that was the biggest one.
In the western world, fermented fish paste is better known as Worcestershire sauce.
Another typical missing ingredient is corn starch, to give the food that "smooth" feel.
2Worcester & cornstarch in an "Indian" curry - please, no. Jul 19, 2022 at 16:48
Fish sauce is quite common in Thai curries, but not common in Indian curries. Using it in an Indian-style curry might produce a good curry, but it won't taste much like how you'd expect it to taste. Worcestershire sauce, on the other hand, contains many ingredients, of which fish sauce is only one, so it could easily change the flavor of the curry significantly. Probably best to avoid it. Jul 20, 2022 at 5:54
@unlisted - Cornstarch isn't very traditional, but seeing as it is mostly flavorless and just serves to thicken things, do you think it would really be so bad in a curry in moderation? Jul 20, 2022 at 5:59
@unlisted - Ketchup contains ingredients besides tomatoes, much as Worcestershire sauce contains a whole lot of things besides fish sauce, so I expect both would alter the flavor in unpredictable (and probably not pleasant) ways. Not to mention that fish sauce isn't very common in Indian curries anyway, so even with plain fish sauce, I imagine it would taste more like a kind of Indian-Thai fusion curry. Jul 20, 2022 at 6:09
@unlisted - I don't think anyone mentioned China? You seem to be "violently agreeing" with me in any case, insofar as we both think Worcestershire sauce would produce a bad curry. Jul 20, 2022 at 6:14