Heat olive oil in a large soup pot over medium heat. Add the diced onion and sauté for 3 to 4 minutes until translucent. Stir in garlic and cook for another minute until fragrant.
Toss in the carrots, parsnips, sweet potatoes, and leeks. Stir to coat the veggies in the oil and aromatics, cooking for about 5 minutes to bring out their natural sweetness.
Add the shredded chicken, chicken broth, thyme, rosemary, bay leaf, salt, pepper, and smoked paprika if using. Stir everything together and bring the soup to a boil.
Reduce heat to low and cover the pot. Let the soup simmer for 25 to 30 minutes, or until the vegetables are tender and the flavors have melded beautifully.
If you’re using kale or spinach, stir it in during the last 5 minutes of cooking. It will wilt nicely and add extra nutrition and color.
Remove the bay leaf and taste the soup. Adjust salt or pepper as needed. Ladle into bowls and garnish with parsley or Parmesan if desired.