Bring a large pot of lightly salted water to a boil for the pasta.
Add in the pasta and cook until al dente--check your box for the right time, usually about 10-12 minutes. Don't overcook it. Set aside and start the sauce.
In a separate medium saucepan or skillet, melt the butter and add the flour. Cook on medium heat one minute until the flour browns just slightly.
Add the milk and half and half (if using), and a dash of salt and pepper.
Cook until thickened and starting to bubble; about 5-7 minutes.
Add the mustard and stir to combine followed by the cheddar and Colby cheeses.
Stir until the cheese melts.
Add the pasta, and toss.
Add in the cream cheese and stir until the cubes melt and the sauce is completely smooth.