Combine the turmeric, garam masala, and cumin in a small bowl.
Add half of the spice mixture, along with the garlic, ginger, yogurt, and salt, to a medium-sized bowl. Stir to combine. Cover the remaining half of the spice mixture and set aside.
Add the chicken breasts to the bowl, making sure that it is completely coated in the yogurt and spice mixture. Cover and chill for 4-6 hours.
Heat the olive oil in a large, heavy pot over medium heat. Add the sliced onion, tomato paste, cardamom, and red pepper flakes. Cook, stirring often, until the onion begins to soften and the tomato paste has darkened (~5 minutes). Add the remaining half of the spice mixture, stir to combine, and cook for another 4-5 minutes.
Add the crushed tomatoes; bring everything to a boil then reduce the heat and simmer. Stir often, scraping up the brown bits on the bottom of the pot, until the sauce starts to thicken (~8-10 minutes).
Add the cream and curry powder. Simmer, stirring occasionally, until the sauce thickens a bit (~30 minutes).
While the sauce is cooking, preheat the broiler to high. Line a rimmed baking sheet with foil, and top that foil with a wire rack (like the one you'd use for cooling your cookies). Arrange the marinated chicken breasts on top of the rack. Broil for 10 minutes, or until black spots start to form on the chicken.
Cut the chicken into bite-sized pieces. After the sauce has been simmering for about 30 minutes, add chicken to the sauce and simmer, stirring occasionally, until the chicken is cooked through (~15 additional minutes). Add salt to taste.
Serve over rice, with naan on the side.