For the meatballs: In a medium bowl combine beef, bread crumbs, Parmesan, egg, garlic, parsley, salt, and pepper. Use your hands to combine evenly, or fold with a wooden spoon.
Form mixture into 40 meatballs, about 1 tablespoon each. I use a small scoop to portion quickly and evenly.
Heat a large Dutch oven (or another heavy-bottomed soup pot) over medium to medium-high heat. I use a 6.75 quart Dutch oven - it's a great size for this recipe. Add olive oil. Once oil is shimmery, add meatballs. Turn meatballs occasionally, until all sides are nicely browned. Remove meatballs to a plate.
For the soup: Using same Dutch oven over medium to medium-high heat, add butter and olive oil. Once shimmery, stir in onion, celery, carrots, mushrooms, and garlic. Sauté, stirring occasionally, about 10 to 15 minutes or until vegetables are softened.
Dice half of the whole peeled tomatoes and add to pot. Randomly chop and then crush the remaining whole peeled tomatoes, using the back of a fork or a rigid pastry cutter. Add to the pot any accumulated juices and any tomato juice left in the can.
Stir in tomato paste, to taste - I like to use between 4 and 6 ounces. Add beef broth, basil, bay leaves, Italian seasoning, salt, pepper, and meatballs. Turn heat up a bit and cook just until soup starts to boil. Then turn heat down to medium-low and simmer for 15 minutes or until meatballs are fully cooked and vegetables are soft and tender.
While soup is simmering, cook ditalini pasta in boiling salted water, until al dente. Do not over cook. Drain pasta and set aside.
To serve: Add cooked ditalini pasta to individual bowls and then ladle soup over the top. Sprinkle shredded Parmesan over the top.
