To make the marinade, combine the yogurt, almonds, ginger, garlic, and chiles in a blender jar. Puree, scraping the inside of the jar as needed, to make a smooth, albeit slightly gritty, sauce. Transfer the contents to a medium-size bowl. Fold in the cilantro, coriander, cumin, salt, cardamom, and cloves to make a marinade freckled with dark brown spices.
Add the chicken pieces to the bowl and coat them well with the marinade. Refrigerate, covered, for at least 1 hour or as long as overnight.
Heat 2 tablespoons of the oil in a large skillet over medium-high heat. Add the onion and bay leaves, and cook, stirring, until the onion slices are soft and light brown around the edges, 3 to 4 minutes. Transfer the onion and bay leaves to a plate.
Pour the remaining 2 tablespoons oil into the same skillet. The skillet will still be hot enough for the oil to instantly heat up. Remove the chicken from the marinade (its okay if some is still clinging to the pieces) and add it to the skillet, meat side down, in a single layer. Reserve the remaining marinade. Sear the meat until it is lightly browned, about 3 minutes. Turn the pieces over and sear the other side until lightly browned, about 3 minutes.
Spread the reserved marinade over the chicken, and add the cooked onion and ½ cup water. Lift the chicken pieces and allow the liquid to flow underneath them; it should deglaze the skillet, releasing any bits of browned chicken and spices. Reduce the heat to medium-low, cover, and braise the chicken, basting it with the sauce occasionally, until the meat in the thickest parts is no longer pink inside and the juices run clear, 25 to 30 minutes. Transfer the chicken and onions to a serving platter.
Raise the heat to medium-high and boil the sauce, uncovered, stirring occasionally, until it is slightly thickened, 5 to 8 minutes. Then stir the spinach, a handful at a time, into the sauce. Cook just until the leaves have wilted, 1 to 2 minutes.
Spoon the spinach sauce over the chicken pieces, and serve.