Preheat the oven to 400°F. Line a baking sheet with parchment paper.
Slice 1 spaghetti squash in half then scoop out the inner seeds and string bits with a metal spoon. Place the squash halves on the baking sheet and drizzle 2 tablespoon olive oil, salt and pepper over the inside of each.
Next, flip the squash so that it is facing down on the baking sheet. Place in the oven to bake for 40 minutes.
While the squash is baking, heat a frying pan over medium-high heat. Add the 4 minced garlic cloves and cook 30 seconds.
Add in 4 cups baby spinach and cook 1 minute until spinach wilts.
Reduce the heat to low. Now add ½ cup heavy cream, ½ cup grated parmesan cheese, ¼ cup cream cheese, ½ teaspoon salt and ¼ teaspoon ground black pepper. Gently stir until all ingredients melt together into a creamy sauce, then remove the pan from heat.
Once the squash is done cooking, remove it from the and let it cool 10-15 minutes. I use 2 spatulas to gently flip each one over as they will be hot. Now take a fork and scrape all of the inside flesh until it forms spaghetti strings.
Pour the creamy sauce into each half of the spaghetti squash. Use a fork to mix the sauce and spaghetti strings together. Sprinkle ¼ cup parmesan cheese on top of each one then place back in the oven to bake at 400°F for 10 more minutes.