Heat the olive oil in a large pot over medium heat. Add the chicken breasts and cook for 5 to 6 minutes per side until lightly browned. Remove the chicken and set it aside.
Add the onion, carrots, and celery to the same pot. Cook for 5 minutes until the vegetables begin to soften.
Stir in the garlic, rosemary, and thyme. Cook for 1 minute until fragrant.
Pour in the chicken broth and diced tomatoes. Bring the mixture to a simmer.
Return the chicken to the pot. Cover and simmer for 15 minutes until the chicken is cooked through.
Remove the chicken, shred it with two forks, and return it to the pot.
Add the cannellini beans and spinach. Simmer for 5 more minutes until the spinach wilts. Season with salt and black pepper.
Ladle into bowls and top with grated Parmesan cheese before serving.