In a mixing bowl, combine the ground meat, breadcrumbs, Parmesan cheese, egg, minced garlic, Italian seasoning, salt, and pepper. Mix well until evenly combined.
Roll the mixture into small meatballs (about 1 inch in diameter) and set aside.
In a large pot, heat the olive oil over medium heat. Add the diced onion, carrots, and celery, sautéing until tender, about 5 minutes.
Carefully add the meatballs to the pot, browning them on all sides for about 5-7 minutes.
Pour in the chicken broth and diced tomatoes, bringing the mixture to a gentle simmer.
Cook the soup for about 15 minutes, allowing the meatballs to cook through.
Stir in the heavy cream and let the soup simmer for an additional 5 minutes, allowing it to thicken slightly.
Add the fresh spinach, cooking just until wilted (about 2 minutes).
Adjust seasoning with salt and pepper as needed.
Serve hot, garnished with fresh basil.
Notes
Serve hot and garnish with fresh basil for added flavor.