Ground almonds are one thing I've used in the past (usually in a yoghurt-based sauce, but not always). They give a richness without overpowering the flavour. Roughly the approach was:
- Fry onions, meat or equivalent (I usually did this with Quorn), and spices/garlic/ginger.
- Turn off and allow to cool a few minutes.
- Stir in lots of yoghurt (any natural yoghurt) and return to the gentlest heat you've got.
- Stir in ground almonds; don't be mean with them. Cook gently for a few minutes, with plenty of stirring, adjusting the texture with a little water if you like.
In a tomato-based sauce you don't need the cooling step; that's to avoid splitting the yoghurt.
Coconut flour or alternatively dried coconut milk. It's a significantly different curry because the flavour comes through, but adding either of these gives a good thickening effect (more so for the flour) that's very compatible with curries.
A sauce base using onions as I mentioned in the comments: a base sauce made from boiled, blended onions (plus garlic/ginger/tomato and a little spice) is also a good way of adding richness. This is rather time-consuming to prepare, and pungent, but freezes well.
Mango chutney is a good last-minute cheat addition, especially if you find a very sticky one and blend it first. It adds flavour and has some thickening power.
I am also an amateur, and care more about enjoying my cooking and food than about authenticity!