Combine all marinade ingredients in a blender. Coat the chicken in the marinade and marinate overnight or for at least 4 hours.
In a small saucepan, bring the rice, 2 cups of water and a pinch of salt to a simmer. Reduce heat to low, cover, and cook until the grains are tender, about 20 minutes.
In a blender, purée the spinach, garlic, olive oil, water, cilantro, lime juice and salt until smooth. Fold into the cooked rice.
To make the korma sauce, heat the oil and butter in a large pot over medium heat. Add the onions, garlic, chile, and ginger and cook until fragrant, 4 to 5 minutes. Add the garam masala, turmeric, smoked paprika and cayenne and cook for 30 seconds, until fragrant. Stir in the chickpea flour to make a roux. Cook for two minutes, stirring constantly so the flour doesn’t burn.
Add the tomato purée, scraping any browned bits off the bottom of the pot to deglaze. Cook for 5 minutes. Add the chicken stock and coconut milk and cook over medium-high heat for 15 minutes. Remove from heat and stir in the yogurt and lime juice. Purée with an immersion or regular blender until smooth.
Bring a large pot of salted water to a boil for the green beans. Prepare an ice bath by filling a large bowl with cold water and ice. When the water boils, add the green beans for 2-4 minutes then immediately transfer to the ice bath to stop the cooking process. Remove from the ice bath after 1-2 minutes.
Fold the green beans, peas, and fresh tomatoes into the korma sauce. To serve, divide the rice between bowls. Ladle in korma sauce and top with sliced chicken. Garnish with cilantro.