Chop the onions into quarter and cook it in a pressure cooker until mushy with just ¼ cup of water. Once cooled a bit grind it into a smooth paste.
Soak the cashews in warm water for about 15 mins. Grind it into a paste with the tomatoes and keep aside.
In a wide pan, add the oil/butter and heat it. Add the ground onion paste and sauté till the onions are pink.
Now add the ginger garlic paste and continue to sauté.
Add the turmeric powder, red chili powder and cook for 2 more minutes.
Now add the cashew-tomato mixture and sauté it till the oil floats on top. At this stage the gravy would be thick and bubbly, so stir constantly to avoid it from sticking to the pan.
Now add the salt, garam masala and a cup of water and simmer for about 10 mins.
Add the cream and heat it through. Do not let it boil after adding the cream.