First we will make the meatballs.
Preheat oven to 350 degrees
Heat a large skillet over medium heat, add 1 tbs oil, then add onion and pinch of salt and sauté for 5 minutes or until mostly translucent. Add garlic cloves and sauté for another 30 seconds. Set aside.
In a large bowl remove sausage meat from casing, add ground beef, Italian seasoning, parsley, vegan egg, vegan parm, breadcrumbs, and cooked garlic and onion. Mix together with your hands until fully combined.
Form the meatballs into about lime-sized balls, about the size of a golf ball, you should have about 15-17.
Wipe the skillet out and reheat to medium-high. Once the skillet is hot, add 2 tbs oil, once that heats up add your meatballs. You will probably need to do this in 2 batches so you have enough space to flip. Sear the meatballs 2 minutes, on each side.
Once all meatballs are seared, spray a large baking sheet with spray oil, add meatballs and place in the oven for 20-25 minutes flipping at the 10 minute mark until cooked through. Set meatballs aside while we make the soup.
Turn on the broiler.
Heat a large saucepan over medium heat, add 1 tbs oil, once heated add onion and a pinch of salt. Sauté until softened, about 7 minutes. Add garlic, sauté for another 30 seconds, add tomato paste, stir to combine then add broth, tomatoes, nutritional yeast, 1 ½ cups mozzarella, and oat milk, stir to combine.
Bring the soup to a simmer over medium-high heat, stirring occasionally to prevent burning. Then add dried parsley, salt & pepper to taste. Off the heat and blend with an immersion blender or pour it into a blender and blend until you get your desired consistency.
Ladle the soup into the scooped-out boules, divide meatballs evenly in each one and sprinkle the remaining mozzarella on top.
Broil for 2-3 minutes until cheese is melty and bread is a little browned.