Prepare the Meatballs:
Preheat the oven to 400°F (200°C). In a large mixing bowl, combine the ground beef or turkey, breadcrumbs, Parmesan cheese, egg, minced garlic, dried oregano, salt, and pepper. Mix until well combined.
Shape the mixture into small meatballs (about 1 inch in diameter) and place them on a baking sheet lined with parchment paper. Bake for 15-20 minutes, or until the meatballs are cooked through and lightly browned.
Cook the Soup:
In a large pot, heat the olive oil over medium heat. Add the chopped onion and cook until soft and translucent, about 5 minutes. Add the minced garlic and cook for another 1-2 minutes until fragrant.
Stir in the diced tomatoes, chicken or vegetable broth, and dried basil. Bring to a simmer and cook for 10 minutes to allow the flavors to meld together.
Add the Cream and Spinach:
Reduce the heat to low and stir in the heavy cream. Add the chopped spinach and cooked meatballs to the pot. Simmer for another 5-10 minutes until the spinach is wilted and the meatballs are heated through.
Season and Serve:
Season the soup with salt, pepper, and red pepper flakes (if using). Serve hot, garnished with extra Parmesan cheese if desired.