In a food processor, blend the turkey and liver. Place the ground meat into a bowl and mix in the egg, parsley, salt, and pepper by hand. Allow mixture to set, covered, in the refrigerator for at least 1 hour.
Once the meat has set, form small meatballs, about 1 inch in diameter.
In a large stockpot or Dutch oven, heat 2 tablespoons olive oil over medium-low heat. Cook the meatballs until golden all over, 6 to 8 minutes. Set aside.
In the same stockpot, heat the remaining 2 tablespoons of oil. Add the garlic, onions, carrots, celery, and mushrooms. Sauté, stir- ring occasionally, for 3 to 5 minutes.
Add the tomatoes, water, zucchini, butternut squash, asparagus, bay leaf, oregano, and rosemary and bring to a low simmer.
Carefully place the turkey meatballs in the soup, covering them with as much broth as possible.
Simmer for 15 minutes. Test one meatball to make sure the meat has cooked through.
Once meatballs are done, turn off the heat and remove the rose- mary sprig if you used one (the leaves should have fallen off) and the bay leaf. Add the spinach and stir the soup until the spinach wilts. Season with salt and pepper to taste.