Slice spaghetti squash in half lengthwise. Scoop out the seeds with a spoon and clean as you would a pumpkin. Completely submerge 1 half at a time, in a large pot of boiling water and cook for about 20 minutes until the inside is just tender to a fork and pulls apart in strands. (Cook's Note: It is better to undercook if you're not sure.) Remove, drain and cool with cold water or ice bath to stop the cooking.
Scoop out the cooked squash from its skin with a spoon as you would an avocado and discard the skin. Use a fork to fluff and separate the squash into "spaghetti"- like strands. You can also use your hands. Reserve the separated cooked squash and dip with a strainer into boiling water to reheat just before serving.
Melt half the butter in a medium saucepan over medium-high heat. Add cream and reduce for about 2 minutes, then add garlic and cheese and whisk quickly, heating through. Stir in the rest of the butter and parsley. Place spaghetti squash in a large serving bowl, and pour Alfredo sauce over squash. Garnish with basil and tomatoes. Serve and enjoy!
If after cooking, the spaghetti squash is a little too al dente, you can cook it more in the hot water just before serving.