Preheat an oven to 400 F. Grease a 9x13 baking dish with 2 tablespoons of the softened butter. Place the baking dish on a baking sheet and set aside.
Boil the pasta. Bring a pot of salted water to a boil and cook the pasta to al dente. The pasta should still have some bite to it. This process is usually 2-3 minutes shy of the package instructions. Drain and rinse your pasta with cold water. If you do this step in advance, toss the pasta with a little oil to keep it from sticking.
Grate the cheese. Use a box grater to grate the cheeses. Don't use pre-shredded cheese.
Make the sauce. Melt the remaining 4 tablespoons of butter in a saucepan and once the butter is hot, add the onions. Cook until the onion is soft. Add the spices and dijon and the half and half and warm until it's steaming. Do not let it come to boil!
Blend. Pour the contents of the saucepan while still hot into a blender with the cream cheese and blend until smooth. Season to taste with salt and pepper.
Layer the pasta. Layer in the pasta and cheese in the prepared baking dish, alternating between the two so so that everything is well-mixed. Leave some cheese for topping the mac and cheese. Pour the sauce over the pasta and cheese and stir lightly to combine. Top with the remaining cheese.
Bake. Place the baking dish and baking sheet in the oven and bake at 400 F uncovered for 35-40 minutes, until hot and bubbly and the cheese is browned on top.