In a large pot, heat the olive oil over medium heat. Add the diced onion and sauté for about 3-4 minutes until translucent. Stir in the minced garlic and cook for an additional minute until fragrant.
Add the sliced carrots and diced celery to the pot. Cook for another 5 minutes, stirring occasionally.
Stir in the cubed potatoes, dried thyme, dried rosemary, and bay leaf. Pour in the chicken broth and bring the mixture to a boil.
Once boiling, reduce the heat to a simmer and add the chicken breasts. Cover and cook for 20-25 minutes, or until the chicken is cooked through.
Remove the chicken from the pot and shred it using two forks. Return the shredded chicken to the pot.
If using, stir in the fresh spinach and cook for an additional 2-3 minutes until wilted. Season with salt and pepper to taste.
Remove the bay leaf before serving. Garnish with chopped fresh parsley if desired.