Heat olive oil in a large stock pot.
Sauté diced onions, sliced carrots and celery until onions are translucent and the carrots and celery start to soften, about 8-10 minutes.
Add minced garlic and cook until fragrant, about 30 seconds.
Add Italian seasoning, salt, pepper, garlic powder, and bay leaf. Stir to coat veggies on the pan. Cook, stirring constantly of 1 minute; this "blooms" the spices.
Add red wine and let it cook down, about 3-4 minutes.
Add the Bay leaf, beef broth, water, diced tomatoes, Worcestershire sauce, and meatballs to the pan.
Increase the heat and bring soup to a boil.
Once soup is simmering add Ditalini pasta and stir to combine. Simmer soup, stirring occasionally, for 10-12 minutes or until pasta is tender.
Fish out and discard bay leaf.
Stir in fresh spinach leaves and cook until spinach wilts, about 1-2 minutes.
Taste and season with additional salt & pepper if needed.
To serve, top each bowl with a sprinkle of grated Parmesan cheese.