In a mixing bowl, combine the ground beef, breadcrumbs, Parmesan cheese, parsley, egg, minced garlic, salt, and pepper. Mix until well combined.
Form the mixture into small meatballs, about 1 inch in diameter. Set aside.
In a large pot, heat the olive oil over medium heat. Add the chopped onion, carrots, and celery. Sauté for about 5 minutes until the vegetables are softened.
Stir in the minced garlic and cook for an additional minute.
Pour in the chicken or vegetable broth, diced tomatoes, oregano, and basil. Bring the mixture to a gentle boil.
Add the meatballs to the pot. Reduce the heat to a simmer and cook for about 15 minutes until the meatballs are cooked through.
Stir in the small pasta and cook according to package instructions, usually about 7-10 minutes.
Season the soup with salt and pepper to taste. Remove from heat and let it sit for a few minutes before serving.