Preheat the oven to 400°F (200°C). Line a baking sheet with parchment paper.
In a mixing bowl, combine the ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, salt, black pepper, oregano, and basil. Mix until well combined.
Form the mixture into approximately 1-inch meatballs and place them on the prepared baking sheet.
Bake the meatballs in the oven for 15-20 minutes, or until they reach an internal temperature of 160°F (71°C).
While the meatballs are baking, heat a large pot over medium heat. Add the chopped onion, carrots, and celery, sautéing until softened, about 5 minutes.
Pour in the beef broth and crushed tomatoes, bringing the mixture to a boil.
Once boiling, add the uncooked spaghetti and cook according to package instructions, usually around 10 minutes.
When the meatballs are done, add them to the soup and let everything simmer for an additional 5 minutes to meld the flavors.
Serve hot, garnished with fresh parsley.