Preheat the oven to 400 degrees. Wash the butternut squash and cut the ends off. Cut the squash lengthwise and discard all of the seeds that are on the inside by scooping them out with a spoon. Oil a baking sheet and place the squash flesh side down on the baking sheet. Bake in the oven for 45 minutes, until the squash is soft. Let that cool a bit so it is easy to handle.
While the squash is cooling, fill a large pot with water and place that on the stove to boil.
Meanwhile, in the bottom of another large saucepan or Dutch oven, add the olive oil and the butter. Let the butter melt. Add the chopped onions and let that sauté for a 2-3 minutes until the onions are translucent. Once they are translucent, add the 3 tablespoons of flour and mix that around. Cook that for 2-3 minutes until the flour just starts to cook.
Add the vegetable broth and the milk to the pan. Lower the heat on the stove to low so the mixture does not boil.
When the butternut squash is cool enough to handle, scoop the flesh out of the peel with a large spoon. Use a knife to cut off some of the skin if it gets left on the squash. Place the squash into the pot with the milk mixture and let that cook for about 10 minutes. With an immersion blender, blend the mixture until smooth.
Salt the water for the pasta and add the box of pasta. Give that a little stir and let that cook according to the box instructions.
When the pasta is done cooking, drain it and place it in the pot with the butternut squash sauce. Mix everything around so it is combined. You could either serve it just like this out of the pot, or you could place it in a 9x13 pan, top it with some more cheese, and bake it for about 15 minutes to allow the cheese on top to brown. Serve immediately.