Preheat oven to 350 degrees F.
Slice spaghetti squash down the middle, lengthwise and brush the inside part with olive oil.
Lay squash, seeded part down onto a cookie sheet and bake for 35-40 minutes.
While squash is baking, mix all meatball ingredients together (except olive oil) in a large bowl, working it well with your hands.
Roll into golf ball size balls and refrigerate until your squash comes out of the oven. You should have about 24 meatballs.
When squash is done, flip it with the flesh side up and set aside to cool
Turn oven up to 375 degrees F. and heat 1 tbsp olive oil a large skillet over medium-high heat.
Brown meatballs on all sides and place them onto a baking sheet.
Bake meatballs for 20 minutes, until cooked through.
Wipe out your skillet and add the remaining tbsp olive oil.
Cook onion and garlic on medium heat until onion is soft, about 4-5 minutes.
while onion and garlic are cooking, spoon out the seeds in the squash and shred squash with a fork (it should look like thin noodles)
Add shredded squash to skillet, along with parmesan cheese, Italian seasoning and salt and pepper, to taste.
Stir until just blended and remove from heat.
Spread a thin layer of sauce in the bottom of a 9x13 baking dish
Top with squash mixture, then arrange your meatballs on top
Pour remaining sauce over and top with slices of fresh mozzarella.
Lower oven heat to 350 degrees and bake for 30 minutes.
Serve immediately.