Heat avocado oil in a large Dutch oven or heavy-bottomed pot over medium heat.
Add onion and cook for 4 to 5 minutes until softened and lightly golden.
Add garlic and ginger and cook for 30 to 60 seconds until fragrant.
Stir in curry powder, turmeric, cumin, coriander, smoked paprika, salt, and pepper. Cook briefly to bloom the spices.
Add chicken pieces and stir to coat in the spices. Cook 3 to 4 minutes, just until the chicken is opaque on the outside.
Add sweet potatoes, broth, and coconut milk. Stir to combine.
Bring to a gentle boil, then reduce to a low simmer. Cover and cook for 25 to 30 minutes, until sweet potatoes are tender and chicken is cooked through.
In a small bowl, whisk arrowroot starch with 2 tablespoons of water. Stir into the curry.
Simmer uncovered for 5 to 8 minutes, stirring occasionally, until the curry thickens slightly. If you’re using kale, add it now so it softens as the curry thickens. Spinach can be added later since it wilts quickly.
Turn off the heat and stir in spinach, lime zest, and lime juice. Taste and adjust seasoning as needed.
Notes
This curry keeps well in the fridge for up to four days. The flavors will intensify as it sits. Reheat gently on the stovetop.