Start by peeling and chopping a medium-sized butternut squash into small cubes. You'll need around 2 cups of diced squash for this recipe.
Place the diced butternut squash in a pot of boiling water and cook until it's fork-tender, usually about 10-15 minutes. Once it's cooked, drain the squash and set it aside.
While the squash is cooking, bring a large pot of salted water to a boil and cook your choice of pasta according to the package instructions until it's al dente. Drain the pasta and set it aside.
In a separate saucepan, melt 2 tablespoons of butter over medium heat. Once melted, add 2 tablespoons of all-purpose flour and whisk continuously for about 1-2 minutes to make a roux.
Gradually pour in 2 cups of milk while whisking constantly to avoid lumps. Allow the mixture to come to a simmer, then reduce the heat to low. Stir in 2 cups of shredded cheese (cheddar works well for this recipe) until it's fully melted and the sauce is smooth and creamy.
Transfer the cooked butternut squash to a blender or food processor and puree until smooth. You can also use an immersion blender directly in the pot if you prefer.
Pour the butternut squash puree into the cheese sauce and stir until well combined. Season with salt, pepper, and any other desired seasonings to taste.
Add the cooked pasta to the sauce and stir until it's evenly coated with the creamy butternut squash cheese sauce. Serve hot, optionally topped with breadcrumbs or grated cheese for extra crunch.