Chop all the fresh produce and divide the garlic into two piles, two cloves for the meatballs and two cloves for the soup.
In a mixing bowl, combine the ground Italian sausage, breadcrumbs, Parmesan cheese, milk, egg, Italian seasoning, and two minced cloves of garlic. Mix well by hand until the mixture is very smooth. Then scoop and roll the meat mixture into small 1-inch meatballs that will easily fit on a spoon.
Set a large 6-8 quart soup pot over medium heat. Add 1 tablespoon of olive oil to the pot. Once hot, add the meatballs. Gently turn the meatballs for 5 minutes to brown them on all sides. Then move the meatballs to a holding plate. (The meatballs do not have to be fully cooked, because they will go back in the soup. If needed, work in batches.)
Add the remaining tablespoon of oil to the pot. Add in the chopped onions, celery, carrots, and remaining minced garlic. Sauté for 3 to 5 minutes to soften.
Add the diced tomatoes and beef broth to the pot. Cover the pot and bring to a boil. Once boiling, remove the lid and simmer another 5 minutes. Then add the meatballs and pasta to the pot. Stir well, and simmer for 5 to 6 minutes, or until the pasta is al dente. (It's best if the pasta is a little under cooked since it will continue to sit in the hot broth.)
Stir in the chopped parsley, and turn off the heat. Taste, then seasoned with salt and pepper as desired.
