In a large skillet, saute the onion in olive oil on medium-low heat for about 7 minutes. Add mushrooms, increase the heat to medium-high and cook them for 10-15 minutes. You’ll need to wait until the water evaporates and then keep cooking the mushrooms until they brown nicely. Add garlic, stir, and transfer the mushrooms into the mixing bowl. Let them cool down.
Add the rest of the ingredients excluding marinara to the mixture. Stir the mixture nicely and cover it with plastic wrap. Refrigerate for at least 2 hours, possibly overnight for the flavors (and texture!) to develop.
When ready to cook, using a tablespoon as a measure, form small balls from the mixture. Fry the balls in a small amount of vegetable oil until they turn brown or bake them in a preheated oven at 400F for 15 minutes.
Add marinara sauce to the medium saucepan. Place the meatballs on top and cook the meatballs in the sauce on a low heat for about 15 more minutes.
Garnish with grated Parmesan or fresh parsley.