Preheat oven to 400F.
Place the spaghetti squash halves cut side up onto a baking sheet. Drizzle with 1 tablespoon olive oil (divided), salt, and pepper. Turn the squash over so they're cut side down, and roast for 50-60 minutes, or until a knife pierces into the thickest part of the squash easily. Strands should be soft, but not mushy. Let cool for 10 minutes. Once cool enough to handle, use a fork to loosen the squash strands, right in their shells. Drizzle the strands evenly with 1 tablespoon olive oil (divided), salt, pepper, and the Parmesan Cheese (divided). Mix well.
While the squash is cooking, in a large pan or wide pot, heat the remaining tablespoon of olive oil over high. Add beef and cook, breaking it up, until it begins to brown, about 5 minutes. Add onion, carrots, and garlic and season with salt and pepper. Cook until the vegetables are soft, about 5 minutes. Add the crushed tomatoes and red pepper flakes. Add a little water to the can and swish out all the goodies too. Bring to a rapid simmer.
Cover and let it continue to cook for 15 minutes, stirring occasionally, until the liquid is slightly reduced and the flavors are melded. Taste and season with salt and pepper. Serve sauce over spaghetti squash, right in their shells, one half shell per person. Top with extra Parmesan and basil, if desired.