Heat 1 tablespoon extra virgin olive oil in a large soup pot. Add the onion, carrots, and celery and cook for 8–10 minutes, stirring occasionally. Season with salt and pepper.
Add the minced garlic, Italian seasoning, and crushed red pepper. Cook for 1 minute until fragrant.
Simmer the soup:
Add the shredded chicken and 8 cups of chicken broth. Bring to a boil. Reduce the heat and simmer, uncovered, for 30–45 minutes.
Cook the elbows:
Meanwhile, bring a medium pot of water to a boil. Add 2 teaspoons salt. Once boiling, add the pasta and cook until 1–2 minutes under al dente. Drain and set aside.
Finish the soup:
Taste the soup and add more salt and pepper if needed. Add the baby spinach, basil, and cooked elbows. Simmer for 5 minutes until the baby spinach wilts.
Turn off the heat and add the Parmesan cheese and lemon juice. Let stand for 5–10 minutes.
To serve:
Ladle the soup into bowls. Garnish with more Parmesan cheese and a few basil leaves if you like. Finish with a drizzle of good olive oil and serve with crusty bread. Enjoy!