Mix Meatball Ingredients: In a large bowl, combine the ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, Italian seasoning, salt, and black pepper. Mix until just combined.
Form Meatballs: Shape the mixture into small meatballs, about 1 inch in diameter.
Cook Meatballs: In a large pot or Dutch oven, heat a tablespoon of olive oil over medium heat. Brown the meatballs on all sides, working in batches if necessary. Once browned, remove them from the pot and set aside.
Add Broth and Tomatoes: Pour in the broth and add the diced tomatoes, dried oregano, and dried thyme. Bring the mixture to a boil.
Simmer the Soup: Once boiling, reduce the heat to a simmer and add the meatballs back into the pot. Let the soup simmer for about 15 minutes, allowing the flavors to meld together.
Cook the Pasta: Stir in the small pasta and cook for an additional 8-10 minutes, or until the pasta is al dente.
Add Spinach: Stir in the fresh spinach or kale and cook for another 1-2 minutes, until wilted.
Season and Serve: Taste the soup and adjust the seasoning with salt and black pepper as needed. Garnish with fresh parsley or basil.