In a large bowl, combine ground beef, breadcrumbs, grated Parmesan, egg, 1 minced garlic clove, Italian seasoning, salt, and pepper. Mix until well combined, then form into small meatballs (about 1 inch in diameter).
In a large pot, heat olive oil over medium heat. Add diced onion, carrot, and celery, cooking until softened (about 4-5 minutes). Stir in the remaining minced garlic and cook for an additional minute.
Pour in the chicken broth and diced tomatoes; bring to a simmer.
Carefully add the meatballs to the pot, ensuring they are submerged in the broth. Simmer for about 15 minutes until the meatballs are cooked through.
Lower the heat and stir in the heavy cream, allowing the soup to warm gently.
Add the fresh spinach and stir until it wilts, about 2 minutes.
Taste and adjust seasoning as necessary with salt and pepper.
Notes
Serve hot in deep bowls, garnished with fresh basil leaves and an additional sprinkle of Parmesan cheese on top for added flavor.