In a medium glass bowl, whisk together yogurt, lemon and spices until combined. Stir in cubed chicken. Marinate for 1 hour or overnight (if you want to cook right away, you can).
In a Dutch oven or large stock pot, heat butter to medium heat. Once melted, add onion and saute 3-4 minutes, until soft. Add ginger and garlic and saute 30 seconds, until fragrant.
Stir in spices, through cinnamon. Stir in ground almonds. Add chicken and yogurt mixture and stir to combine, bringing to a simmer. Season with salt and pepper, then stir in tomato paste and diced tomatoes.
Bring to a simmer again, then cover with the lid and cook 10-15 minutes, stirring occasionally. Stir in coconut milk or cream, allow to cook 2-3 more minutes, then stir in cilantro. Taste and adjust seasoning, if necessary. Serve with Jasmine or basmati rice and top with cilantro and slivered almonds.