Heat the olive oil in a large Dutch oven or heavy-bottomed pot over medium heat. Add the diced onion, carrots, and celery, cooking until softened, about 5-7 minutes. Stir occasionally to prevent browning and ensure even cooking.
Add the minced garlic, Italian seasoning, red pepper flakes (if using), and bay leaves to the pot. Cook for another 30-60 seconds until fragrant. Be careful not to burn the garlic.
Pour in the chicken broth, scraping the bottom of the pot to release any flavorful bits. Add the chicken pieces, making sure they're fully submerged in the broth. Bring the mixture to a boil, then reduce heat to maintain a gentle simmer. Cover and cook for about 25 minutes, or until the chicken reaches an internal temperature of 165°F (74°C).
Once cooked through, remove the chicken pieces from the pot and set aside until cool enough to handle. Using two forks, shred the chicken into bite-sized pieces, discarding the bones and skin.
Bring the soup back to a boil and add the pastina. Cook according to package instructions, usually 6-8 minutes. In the last 2 minutes of cooking, add the shredded chicken back to the pot along with the fresh spinach, allowing it to wilt gently into the hot broth.
Remove the pot from heat and discard the bay leaves. Stir in the fresh lemon juice, parsley, and basil. Season with salt and pepper to taste, adjusting according to your preference.
Serve in warmed bowls with a sprinkle of freshly grated Parmesan cheese.