Melt the butter in a large saucepan over medium heat, add the onion and cook until tender, about 5-7 minutes. Add the curry powder, garam masala, garlic, and ginger and cook until fragrant, while stirring, about a minute. Add the broth, tomatoes, tomato paste and chicken, bring to a boil, reduce the heat to a simmer, add the noodles and cook until tender, about 3-5 minutes. Add the spinach, peas and fenugreek leaves and cook until the spinach has wilted. Remove from yea and mix in the cashew milk, cream, yogurt, garam masala, cilantro and season with salt, pepper, and cayenne to taste.