Preheat your oven to 200°C (about 400°F). Carefully slice the spaghetti squash in half lengthwise using a sharp knife, then scoop out the seeds with a spoon. Drizzle the cut sides with olive oil and sprinkle lightly with salt. Place the halves cut-side down on a baking sheet and roast for about 35–40 minutes, or until the flesh is tender but still slightly firm. You should be able to easily pierce it with a fork, but avoid overcooking to prevent mushy strands.
While the squash is roasting, prepare the meatball mixture. In a large bowl, combine the ground meat, almond flour, egg, grated Parmesan cheese, minced garlic, Italian seasoning, salt, and pepper. Mix everything gently using your hands or a spoon until just combined. Try not to overmix, as this can make the meatballs dense instead of tender.
Scoop out small portions of the mixture and roll them into evenly sized meatballs, about 1 to 1.5 inches in diameter. Heat a bit of olive oil in a large skillet over medium heat, then add the meatballs in a single layer. Cook them for a few minutes on each side until nicely browned. They don’t need to be fully cooked through at this stage, as they will finish cooking in the oven.
Once the spaghetti squash is done roasting, remove it from the oven and let it cool slightly so it’s easier to handle. Use a fork to gently scrape the inside, pulling the flesh into long, noodle-like strands. If there’s excess moisture, lightly pat it with a paper towel to keep your casserole from becoming watery.
Lightly grease a baking dish, then spread the spaghetti squash strands evenly across the bottom. Arrange the browned meatballs on top, then pour the marinara sauce evenly over everything, making sure all the meatballs are coated. Sprinkle the shredded mozzarella cheese generously over the top to create that rich, cheesy layer.
Reduce the oven temperature to 190°C (375°F) and place the baking dish inside. Bake for about 20–25 minutes, or until the cheese is fully melted, bubbly, and slightly golden on top. If you like a more golden finish, you can switch to broil for the last 2–3 minutes, but keep a close eye to avoid burning.
Remove the casserole from the oven and let it rest for 5–10 minutes before serving. This helps everything set and makes it easier to scoop. Serve warm, making sure each portion gets a mix of spaghetti squash, juicy meatballs, sauce, and melted cheese.