In the same pan, heat oil and sauté the finely chopped onions until golden brown. Add garlic paste and cook for a few more minutes. Then, add the chopped tomatoes and cashews to the pan.
Sprinkle garam masala, sugar, Kashmiri chili powder, and white vinegar into the pan. Stir and let the sauce simmer on low heat until the tomatoes soften and release their juices.
Once the tomatoes are cooked, remove the sauce from the heat. Using a blender or food processor, puree the sauce until smooth. Return the sauce to the pan.
Over low heat, stir in the butter until melted. Then, add the heavy cream to the pan.
Add the cooked chicken to the sauce and heat through thoroughly.
Sprinkle crushed dried fenugreek leaves into the sauce and season with salt to taste. Simmer the sauce for a few more minutes to allow the flavors to meld together.
Serve the Indian Butter Chicken hot, garnished with an extra drizzle of cream and a sprinkle of dried fenugreek leaves.