Melt butter in a saucepan on medium-low heat. Once melted, whisk in the flour.
Gradually add milk, whisking to combine as you go. I generally add it about 1/2 cup at a time, whisk, then wait for the milk to heat up and thicken a bit before adding more.
Once all the milk has been added and it's hot {do not boil!} add the cream cheese. Whisk to combine.
Heat the sauce back up before adding the Parmesan cheese. Simmer this until all is melted, and mixed well.
Add salt, garlic powder and pepper to taste. Serve over noodles, with chicken, in a pizza, or however you like it!