Make the Meatballs:
Preheat the oven to 375°F (190°C).
In a large mixing bowl, combine the ground beef, breadcrumbs, Parmesan cheese, egg, garlic, parsley, oregano, salt, and pepper. Mix everything together until well combined.
Roll the mixture into small meatballs (about 1 inch in diameter) and place them on a baking sheet.
Bake the meatballs in the preheated oven for about 15-20 minutes, or until they’re cooked through and golden brown. (Alternatively, you can brown them in a pan on the stove for a few minutes if you prefer.)
Make the Soup Base:
While the meatballs are baking, heat olive oil in a large pot or Dutch oven over medium heat. Add the chopped onion, carrots, and celery. Sauté for about 5 minutes, or until the vegetables are softened.
Add the garlic and cook for an additional minute until fragrant.
Add the Broth and Tomatoes:
Pour in the beef broth and diced tomatoes. Stir in the dried basil, oregano, salt, and pepper. Bring the soup to a simmer and cook for about 10-15 minutes to allow the flavors to meld.
Add the Meatballs and Pasta:
Once the meatballs are ready, add them to the pot with the soup, gently stirring them into the broth. Add the pasta and cook for another 10-12 minutes, or until the pasta is tender and the meatballs are fully cooked through.
Garnish and Serve:
Taste the soup and adjust the seasoning if necessary. Garnish with fresh parsley or basil before serving.