In my curry making experience the main thing I've learnt is less is more - unless you know what you're doing, chucking 12 random spices in rarely turns out brilliantly. I usually start with cumin seeds, turmeric and chillies, then add fenugreek, fennel seeds, corriander seeds/powder or whatever depending on what I'm going for. Amchoor/mango powder is great with tomato based gravies, add at the end of cooking to add a bit of sourness, but go easy with it.
I'd up whatever spices are in the recipe (unless it is from an Indian site, or a few spices like amchoor, fenugreek, black salt etc which can overpower the dish) but pay attention to the proportions, as my Gujarati cook friends says, most recipes are designed for 'an English palate', so scrimp on flavour.
Start by cooking down a load of onions (again, more than the recipe) Cook them slowly for as long as possible - for a curry house type of curry, blend the onions into a paste before browning.
Sometimes, adding just a tiny bit of sugar (especially if using things like mugbeans) can make a big difference. Also, don't scrimp on salt