Preheat oven to 400 degrees. Line a rimmed baking sheet with parchment paper for easy cleanup.
To make the spaghetti squash easier to cut, using a sharp knife, poke several slits in a line around the squash where you plan to cut it.
Microwave the squash for 5 to 6 minutes (microwave each squash individually). Cool slightly before handling (or use a kitchen towel to remove from the microwave). The slightly softened squash will be much easier to cut in half.
On a cutting board, slice off the stem on each end and then slice the squash in half along the line of slits you made. Rub each squash half with olive oil and season to taste with salt and pepper.
Place squash halves cut-side down on prepared baking sheet. Roast until the inside of each squash half is tender and easily pierced with a fork, about 40 to 60 minutes (exact baking time will depend on your specific squash). Cool slightly and use a fork to fluff and remove the strands from the squash halves. Keep warm until serving time (the sauce will probably be done before the spaghetti squash is).
To make the meat sauce:
In a large saucepan or Dutch oven, cook beef and onion over medium heat until mostly browned, about 5 minutes. Drain if desired. Stir in garlic, dried basil, and Italian seasoning until fragrant, about 30 seconds.
Stir in crushed tomatoes, tomato sauce, sugar, bay leaf, and salt and pepper to taste (I like 1/2 teaspoon salt, and 1/4 teaspoon pepper). Simmer uncovered for 30 minutes, stirring occasionally.
Remove bay leaf. Season to taste with salt and pepper.
Serve warm spaghetti squash strands with the hot meat sauce. Garnish with parmesan cheese and fresh basil leaves if desired.
I love a little sugar in my Italian meat sauce, but you can reduce the amount or omit it entirely if you like. If you aren't sure, start with a teaspoon and go from there.