Heat the extra virgin olive oil in a large Dutch oven or heavy-bottomed soup pot over medium heat. Once the oil begins to shimmer, add the diced onion, carrots, and celery. Stir everything together so the vegetables are evenly coated in the oil, then cook for 5–7 minutes, stirring occasionally. The onions should become translucent, and the carrots and celery should begin to soften while still holding their shape. Taking your time with this step builds a rich, flavorful base that gives the finished soup its comforting homemade taste.
Add the minced garlic, freshly grated ginger, and ground turmeric to the pot. Stir continuously for 30–60 seconds, just until the garlic becomes fragrant and the spices release their aroma. Be careful not to let the garlic brown, as it can become bitter. Cooking these ingredients briefly in the oil helps deepen their flavor and evenly distributes the warm, earthy spices throughout the soup.
Add the bite-sized chicken pieces to the pot and stir well to coat them with the vegetables and seasonings. Cook for 4–5 minutes, stirring occasionally, until the outside of the chicken turns opaque and lightly cooked. The chicken doesn't need to be fully cooked at this point because it will continue cooking in the broth. Avoid overcooking during this stage to keep the chicken tender and juicy.
Pour in the low-sodium chicken broth, then add the fresh thyme, sea salt, and freshly ground black pepper. Stir everything together and increase the heat slightly until the soup reaches a gentle boil. As soon as it begins to boil, reduce the heat to maintain a gentle simmer. Let the soup cook uncovered for 15–20 minutes, allowing the chicken to become perfectly tender while the vegetables finish cooking and the flavors blend into a rich, savory broth. Stir occasionally to prevent anything from sticking to the bottom of the pot.
Reduce the heat to low and gradually add the softened cream cheese a few small pieces at a time. Whisk or stir continuously until each piece melts completely before adding the next. This gradual process helps create a silky, lump-free broth with a rich, creamy texture. Avoid bringing the soup back to a strong boil after adding the cream cheese, as gentle heat keeps the soup smooth and prevents the dairy from separating.
Stir the fresh baby spinach into the hot soup and cook for 2–3 minutes, just until the leaves wilt into the broth. The spinach should remain bright green and tender, adding fresh flavor and beautiful color without becoming mushy. If you're using kale instead, allow it to simmer for an additional 5–7 minutes until softened.
Taste the soup and make any final adjustments before serving. Add a little more sea salt, freshly ground black pepper, or a squeeze of fresh lemon juice if desired. The lemon juice brightens the creamy broth and enhances the flavors of the herbs and vegetables without making the soup taste acidic. If the soup has become thicker than you'd like, stir in a splash of extra chicken broth until it reaches your preferred consistency.
Ladle the hot soup into serving bowls, making sure each bowl gets plenty of tender chicken, colorful vegetables, and creamy broth. Garnish with freshly chopped parsley, extra thyme leaves, grated Parmesan cheese, or a pinch of crushed red pepper flakes if desired. Serve immediately while warm and creamy, either on its own or alongside a crisp green salad or your favorite low-carb side for a cozy, satisfying meal.