Preheat your oven to 400°F (200°C). Cut the spaghetti squash in half lengthwise and scoop out the seeds.
Drizzle the cut sides with 1 tablespoon olive oil and season with salt and pepper. Place cut-side down on a baking sheet and roast for 35-40 minutes, until tender when pierced with a fork.
While the squash cooks, heat the remaining olive oil in a large skillet over medium heat. Add the diced onion and cook until softened, about 5 minutes.
Add the minced garlic and cook for another minute until fragrant.
Add the ground beef, breaking it up with a wooden spoon. Cook until browned, about 8-10 minutes.
Stir in the crushed tomatoes, tomato paste, oregano, basil, and red pepper flakes. Simmer for 15-20 minutes, stirring occasionally.
Once the squash is done, let it cool slightly. Use a fork to scrape the flesh into spaghetti-like strands.
Serve the squash topped with meat sauce and freshly grated Parmesan cheese.