In a large bowl, combine turmeric, cumin, salt, minced garlic, and lemon juice.
Add the chicken pieces to the marinade and mix well, ensuring each piece is coated.
Cover and refrigerate for at least 30 minutes (or up to 8 hours for more flavor).
Peel and dice the ripe mangoes.
Blend the mango pieces in a blender until smooth. Set aside.
Heat 2 tbsp oil in a large pot or Dutch oven over medium-high heat.
Add the marinated chicken pieces and cook for 5-7 minutes, stirring occasionally until lightly browned. Remove the chicken from the pot and set it aside.
In the same pot, add the chopped onions. Sauté for 5-7 minutes until golden brown.
Add the minced garlic and grated ginger. Cook for 1-2 minutes until fragrant.
Add turmeric, cumin, coriander, garam masala, cinnamon, and chili powder (if using). Stir well to coat the onions in the spices. Cook for 1-2 minutes.
Add the chopped tomatoes to the pot. Stir and cook for 3-5 minutes until the tomatoes soften and break down.
Pour in the chicken broth and coconut milk. Stir well to combine.
Add the mango puree to the pot and stir well.
Return the chicken to the pot. Stir to coat the chicken in the curry sauce.
Bring the curry to a boil, then reduce the heat to low. Cover and simmer for 20-25 minutes, stirring occasionally, until the chicken is tender and the sauce has thickened.
Taste the curry and adjust the seasoning, adding more salt, chili powder, or lemon juice as needed.
Serve hot with steamed rice, basmati rice, or naan. Garnish with fresh cilantro. Enjoy!