Generally the two biggest mistakes that people make when cooking Indian food are:
I'd add using tired, old spices instead of ones that have been freshly ground.
How old were your spices, OP?
I do find that cuts down the need for salt too.
Is there a reason that this recipe does not use Garam Masala at the end (or a similar finishing spice blend)?