In a non stick pot, heat oil and sauté cashews until they turn golden. Remove and drain excess grease using a paper towel. Roughly grind it and keep aside.
In the same pot, add the diced onions and cook until they turn translucent and pink.
Now add ginger and cook for 30 seconds. Next add tomatoes. If you are working with fresh tomatoes, cook until oil leaves the sides. If working with tomato paste, bring it to a boil. Add green chilis.
Remove from heat, cool. Transfer to a blender/ food processor, to get a paste.
In the same pot, heat oil. Add cumin seeds and cook for 30 seconds. Next add the onion-tomato paste. Cook for 2 minutes and add red chili powder, garam masala, coriander powder, amchoor powder and salt. Mix.
Next add almond and cashew paste and stir to mix well.
Keeping the flame low, add milk, stirring continuously. Stir for 2-3 minutes while bringing it to a boil.
Add 2-3 cups water to get a thin gravy. Boil for 10 minutes. Add the cardamon powder and boil for another 2 minutes. Your gravy is ready.