Cut the spaghetti squash in half lengthwise and scoop out the seeds.
Place the squash halves cut-side down on a rimmed baking sheet. Add about 1 cup of water to the baking sheet.
Roast for 35 to 45 minutes, or until the squash is tender and easily pierced with a fork.
Remove the squash from the oven and allow it to cool until it can be handled safely.
Meanwhile, heat the olive oil in a large skillet over medium heat.
Add the diced onion and cook for 4 to 5 minutes, or until softened.
Stir in the garlic and cook for 30 seconds, just until fragrant.
Add the crushed tomatoes and Italian seasoning. Stir to combine.
Add the ground beef and cook until heated through, breaking up any large pieces as needed.
Stir in the cottage cheese until evenly incorporated. Remove from the heat.
Lightly grease a 9x13-inch baking dish.
Use a fork to scrape the spaghetti squash into strands. If the squash seems very wet, let the strands drain briefly in a colander.
Spread half of the spaghetti squash evenly into the prepared baking dish.
Top with half of the meat mixture and sprinkle with 1 cup of mozzarella cheese.
Repeat the layers with the remaining spaghetti squash, remaining meat mixture, and remaining mozzarella cheese.
Cover with aluminum foil and bake for 30 minutes.
Remove the foil and switch the oven to broil.
Broil for 3 to 5 minutes, or until the cheese is melted and lightly golden brown.
Let the casserole rest for 10 minutes before slicing.
Garnish with chopped parsley before serving.
Christina's Notes
Pre-cooked spaghetti squash can be used to save time.
Ricotta cheese can be substituted for the cottage cheese.
Ground Italian sausage works well in place of ground beef.
Add mushrooms, spinach, or broccoli for extra vegetables.
This casserole can be assembled up to 24 hours in advance and refrigerated before baking.
Store leftovers covered in the refrigerator for up to 4 days.
Freeze baked portions for up to 3 months.
Reheat covered in a 350 degree F oven until warmed through.