In a bowl, combine the bite-sized chicken pieces with ½ cup plain yogurt, 3 tablespoons curry powder, and ¼ teaspoon cinnamon. Toss to coat, cover, and refrigerate to marinate for at least 1 hour (preferably 4 hours).
Prepare the rice while the chicken marinates: Rinse the basmati rice under cold water until the draining water runs clear. Soak the rinsed rice for 15–30 minutes. Fill a pot with enough water for the rice and bring it to a rolling boil. Drain the soaked rice and add it to the boiling water. Boil 4–6 minutes, until the tips of the grains look clear (rice should be about three-quarters cooked). Pour the rice into a strainer, rinse with lukewarm water, and let it drain thoroughly. (Use 2 cups parboiled rice total — about 1 cup + 2 tablespoons uncooked rice.)
Heat 3 tablespoons butter in a large skillet over medium-high heat. Add the chopped onion and cook, stirring occasionally, until golden, about 7–8 minutes. Add 1 tablespoon minced garlic and 1 tablespoon minced fresh ginger and cook, stirring, until fragrant, about 2 minutes.
Add the marinated chicken and all of the marinade to the skillet along with 1 teaspoon salt. Stir to combine, reduce the heat to medium-low, cover, and cook until the chicken is cooked through, about 6–7 minutes, stirring occasionally.
Stir in the drained parboiled rice, 2 tablespoons chopped cilantro, and 2–3 tablespoons raisins. Pour ¼ cup chicken broth evenly over the mixture, cover, and simmer on low for 3–4 minutes, until the rice is tender and the mixture is heated through.
Remove from heat and serve immediately, garnished with chopped cilantro and sliced almonds.