Preheat the oven to 200C/400F.
Thinly chop the onion and mushrooms. Mince the garlic. In a large bowl, combine all of the meatball ingredients and knead with your hands until well-combined.
Separate the 120g of mozzarella cheese into 4 piles.
Separate the meatball mixture into four (or 6, 8 depending on how big/small you want them). Take ¼ of the meatball mixture and separate into two. Take one half and cover with the ¼ of the cheese. Take the other half of the meatball mixture and put over the cheese. With your hands carefully form a big meatball, and throw the meatball from one hand to another a couple of times to release the air. Once formed, place in an oven proof dish. Repeat this with the remaining 3 meatballs.
Once all of the meatballs are formed an in the oven-proof dish, bake in the oven for 20 minutes. Do not turn off the oven because we will use it again after.
In a medium sauce pot, combine the tomato sauce ingredients and simmer on medium-heat for 10 minutes. The sauce needs to be pretty thick so make sure that it has considerably simmered down. *I tried making this dish without simmering the sauce down first and the meatballs ended up really watery so this step is important.
Once the meatballs cooked 20 minutes, take the dish out of the oven, cover the meatballs with the tomato sauce and then sprinkle the 100g of mozzarella over everything. Place in the oven again and bake for an additional 10 minutes (or until the mozzarella has a nice golden brown crust).Take out of the oven and serve hot while the cheese is still gooey!!