Preheat oven to 400°.
Line a large baking sheet with parchment paper and place spaghetti squash face down. Wrap red beets individually in foil and place on the same baking sheet. Bake in oven for 40 to 50 minutes until both beets and squash are fork tender.
During the last 5 minutes of baking, heat olive oil in large saucepan over medium heat. Add onions, sauté for 2 minutes. Add garlic and continue to sauté for an additional 2 minutes. Add wine, balsamic vinegar, broth, milk, thyme, salt and pepper, stir and bring to a simmer for 5 minutes.
Remove squash and beets from oven. Let sit for 2 minutes to cool. Remove beets from foil and chop, then add to sauce, bring back to a simmer for an additional 2 to 3 minutes, then turn off heat. Use an immersion blender (or transfer contents to a blender/food processor) and blend sauce on high until smooth. Stir in Parmesan cheese.
Use a fork to remove spaghetti squash from skin, pour beet mixture over squash. Garnish with fresh basil.