Start by lightly spraying the bottom of your dutch oven with olive oil spray. Add in the diced pancetta. Cook until crispy. This takes about 8 to 10 minutes. Once the pancetta is crisp, transfer it to a paper towel lined plate, leaving the fat in the pot.
Next add in all the carrots, celery, onion, garlic and thyme with a pinch of kosher salt. If using fresh butternut squash, add it in here. (see notes) Stir and cook 8 to 10 minutes.
Add in diced butternut squash (if using steamable), 6 cups unsalted chicken broth, crushed tomatoes, bay leaf, 2 teaspoons kosher salt and lots of freshly ground black pepper.
Give it a stir to combine. Cover with the lid askew and bring to a boil. Reduce to low and simmer for 30 minutes.
Halfway through, bring a (covered) medium pot of salted water (small palmful of sea salt) to a boil. Add in 1 cup ditalini pasta and cook following the package directions. Try to time it so that it is done when the soup is done simmering.
Once al dente, drain the pasta into a colander and add to the soup with the beans and pancetta.
Stir before adding in the baby spinach, stir and cook until wilted.
Lastly pour in the dry white wine and add the basil pesto. Give it a stir and a taste. For me, I usually add in another teaspoon kosher salt and a few more grinds of black pepper. However, season to your personal taste.
Ladle soup into bowls and top with grated fresh parmesan cheese.
