Melt the butter in a medium saucepot over medium heat. Stir in the flour and cook, stirring often, until a thick paste forms and turns golden brown. Stir in the taco seasoning and cook 30 seconds more.
Gradually whisk in the milk, adding 1 cup at a time. Allow the mixture to come to a simmer before adding the next. It will be extremely thick at first and will thin with each addition. When all the milk is added bring the sauce to a simmer and cook 5 more minutes. Whisk in the cream cheese.
Remove the sauce from the heat. Add the Cheddar and Parmesan and whisk until smooth. The sauce keeps refrigerated for up to 2 weeks or frozen for 6 months. If using from cold, carefully bring the sauce back to a boil before serving.