What gives Indian curries the sweet and creamy taste and fragrance? I am experimenting with various curry recipes coming from chefs and roadside &quot;dhaba&quot; cooks on youtube, but i cant figure out what exactly is the ingredient/combination of ingredients that gives the curries the magical pungent sweet flavour.
To start with, i bought home a parcel of my favourite curry - &quot;Kadai Paneer&quot; and used it as a control for my experiment ;)
I tried using a few spice powders - fennel , cardamom and mace -  that, for a brief period of time during the process of cooking,  gave out fragrance that came very close to the control. I could not maintain the intensity of that fragrance in my dish though.
Cashew and cream also give some sweetness to the dish and i managed to get somewhoat closer to the control.
I suspect the presence of some additional sweet flavoured spice/tastemaker that enhances the sweetness of the dish.
I know that these recipes are closely guarded and secrets are not given out easily. Still trying to give it a shot though - maybe some kind soul would like to help as to what really goes in these curries that gives them that exceptionally strong sweet and creamy fragrance.
Cheers !

EDIT 1: Thanks for all the awesome answers here. By my own experimentation and further comparison , i realised that

1) The curry i prepare has some bitterness. Probably because i grind the spices with the tomatos/onions ??
2) Adding more fat(cream, butter) gets my dish closer to the control.
3) There is **not a hint** of bitterness in the restaurant-curry. How come ??!!
Well I do the following for punjabi gravies-

I add poppy seeds, cashew and melon seeds in milk, soak them for some time and then grind these in blender.
This gives it a creamy texture and that white shade in the red gravy
I cook the onions properly, as well cooked onions give a sweetened flavor.
To some paneer gravies I add little sugar.
I know it sounds weird but it does give gravy a different and tasty flavour.
Adding cream from also gives it a sweet flavor.
For that spices flavor, I will suggest to roast the spices dry first and then grind them, this will give a flavor as well as fragrance to the gravy.

Though I am not much aware of dhaba flavours but making punjabi gravys by these points will surely give better flavors than restaurants