01 - Combine basil, Parmesan, pine nuts, garlic, and salt in a food processor. Pulse until finely chopped. With motor running, drizzle in olive oil until smooth and well blended. Set aside until ready to serve.
02 - In a medium bowl, combine ground chicken or turkey, Parmesan, breadcrumbs, egg, minced garlic, parsley, salt, and pepper. Mix gently until just combined—avoid overworking the mixture.
03 - Form the mixture into small balls approximately ¾ inch in diameter. You should get about 28 to 32 meatballs. Place on a plate or baking sheet until ready to cook.
04 - Heat olive oil in a large pot over medium heat. Add meatballs in batches without overcrowding. Brown lightly for 3 to 4 minutes, turning occasionally. They need not be cooked through at this stage. Remove to a plate and repeat with remaining batches.
05 - In the same pot, add diced onion and minced garlic. Sauté for 2 minutes until softened and fragrant. Add diced zucchini, carrot, and halved cherry tomatoes. Cook for another 3 minutes, stirring occasionally.
06 - Pour in the broth and bring to a gentle boil. Add pasta and return browned meatballs to the pot. Reduce heat and simmer for 8 to 10 minutes, until meatballs are cooked through and pasta is tender.
07 - Stir in baby spinach and cook for 1 to 2 minutes until just wilted. Taste and adjust seasoning with salt and pepper as needed.
08 - Ladle hot soup into serving bowls. Swirl a generous spoonful of prepared basil pesto into each bowl just before serving. Enjoy immediately while hot.