In a large bowl, mix together ground beef, egg, breadcrumbs, Parmesan, oregano, garlic powder, salt, and pepper until well combined. Form into 1-inch meatballs.
Heat olive oil in a large pot over medium heat. Add meatballs and cook until browned on all sides. Remove meatballs and set aside.
In the same pot, add onion, carrots, and celery. Cook until vegetables are softened, about 5 minutes.
Pour in beef broth and diced tomatoes with their juice. Stir in dried basil. Bring to a simmer.
Return meatballs to the pot and add pasta. Simmer until pasta is cooked and meatballs are no longer pink in the center, about 10 minutes.
Stir in spinach and cook until wilted, about 2 minutes. Season with additional salt and pepper to taste.
Serve hot, garnished with extra grated Parmesan if desired.