In a large bowl, combine ground beef, breadcrumbs, Parmesan, egg, garlic, oregano, salt, and pepper. Mix gently by hand until just combined; do not overwork.
Using wet hands, form the mixture into small meatballs (about 1 inch in diameter) and set aside on a plate.
Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery; sauté until softened, about 5–7 minutes.
Pour in chicken broth and bring to a simmer. Gently add meatballs and pasta to the pot.
Simmer uncovered for 20–25 minutes, or until meatballs are cooked through and pasta is tender.
Stir in spinach and parsley during the last 2 minutes of cooking. Season with additional salt and pepper if needed.
Ladle soup into bowls and serve hot with extra Parmesan cheese on top.
Notes
Serve with crusty bread and a sprinkle of fresh basil for an authentic touch.