Heat the olive oil in a large Dutch oven or tagine over medium-high heat.
Add the chicken and brown on all sides, about 5 minutes. Remove the chicken from the pot and set aside.
Add the onion to the pot and sauté until soft and translucent, about 5 minutes.
Add the garlic, ginger, turmeric, cinnamon, black pepper, cumin, coriander, and cardamom to the pot and cook for 1-2 minutes, stirring constantly.
Add the chicken back to the pot along with the chicken broth, saffron threads and water, olives, and raisins. Stir to combine.
Bring the mixture to a boil, then reduce the heat to low, cover the pot, and simmer for 45 minutes to 1 hour, or until the chicken is cooked through and tender.
Season with salt to taste and garnish with chopped cilantro and parsley before serving.