Heat olive oil in a large soup pot over medium heat.
Add chopped onion and sauté until soft and translucent.
Stir in minced garlic and cook for about 30 seconds.
Add carrots and celery and cook for 4–5 minutes.
Pour in chicken broth and bring the mixture to a boil.
Add shredded chicken and cannellini beans to the pot.
Season with Italian seasoning, salt, and black pepper.
Reduce heat and let the soup simmer for about 20 minutes.
Stir in chopped spinach and cook for 2–3 minutes until wilted.
Taste and adjust seasoning if needed, then serve hot with grated Parmesan cheese.