In a large pan set over medium heat add the olive oil. When hot add the chicken and cook until lightly browned, around 8 minutes. Set aside.
In the same pan add the butter and let it melt. Scrape up the brown bits from the chicken into it, this will give the butter a ton of flavor. Add the chopped onions and cook until translucent, around 5 minutes.
While the onions are cooking add the soaked cashews to a high powered blender. Blend until smooth, around 30 seconds. Set aside.
Add the garlic to the onions and cook until fragrant, around 1-2 minutes. Add the spices, salt and pepper to coat the onions. Cook for an additional minute. Add the crushed tomatoes, cashew cream, lime juice and stir.
Carefully add the sauce to a high speed blender. Blend the mixture until smooth, around 30 seconds. Return the sauce to the original pan over medium heat and add the coconut cream. Mix the coconut cream into the sauce. Add the chicken and spinach to the sauce. Cover the pan to wilt the spinach, around 5 minutes. Stir the wilted spinach into the sauce and cook for an additional 5 minutes, until the sauce has slightly thickened.
Serve over rice with garlic naan and cilantro. Enjoy!