Prepare the Meatballs: In a large mixing bowl, combine 16 oz ground beef, ½ cup bread crumbs, 2 tbsp chopped parsley, 1 tsp oregano, ¼ cup grated Parmesan, 1 egg, 1 tsp salt, and ¼ tsp pepper. Mix with a spatula or clean hands until well combined.
Shape Meatballs: Form the mixture into small meatballs, about ¾–1 inch, and place them on a plate.
Brown Meatballs: Heat 1 Tbsp olive oil in a large non-stick skillet over medium-high heat. Brown half of the meatballs, turning occasionally to color 2–3 sides, about 4 minutes. Transfer to a plate and repeat with the remaining meatballs. (Meatballs won’t be fully cooked yet.)
Sauté Vegetables: In a large pot, heat 1 Tbsp olive oil over medium-high heat. Add 2 diced carrots, 2 diced celery stalks, and 1 diced onion, sauté until softened, about 6–8 minutes. Add 2 minced garlic cloves and cook 1 more minute.
Add Broth and Pasta: Pour in 4 cups beef broth and 2–4 cups water (depending on desired thickness). Season with ½ tsp salt and ¼ tsp pepper. Bring to a boil, add 1 cup pasta and the browned meatballs, then reduce heat to medium-low.
Simmer Soup: Cover and simmer, stirring occasionally, until pasta is tender and meatballs are cooked through, about 10 minutes.
Add Greens: Stir in 2 cups fresh spinach (or other greens) during the last minute of cooking.
Serve: Taste and adjust seasoning if needed. Serve hot, optionally garnished with extra grated Parmesan.