1. Preheat oven to 325 degrees and grease a 3-quart baking dish (9"x13"). Set aside.
2.Bring a large nonstick pot of salted water to boil. When boiling, add pasta and cook for 1 minute less than the packet directs for al dente. Drain off water and drizzle with a little olive oil to prevent sticking.
3. Mix cheeses and separate into 3 equal sections:
- ⅓ for the sauce (2 cups)
- ⅓ for the layer (2 cups)
- ⅓ for the topping (2 cups)
4. Melt butter into large nonstick saucepan over medium heat.. Sprinkle in flour and whisk to combine. the mixture will look like wet sand. Cook for approximately 1 minute, whisking often. Slowly pour in about 2 cups of whole milk and half and half, whisking constantly until smooth. Slowly pour in the remaining milk and half and half whisking constantly until combined and smooth.
5. Stir in spices and half of one portion of the grated cheese, stirring to melt and combine. Stir in the remaining cheese and stir until completely melted and smooth.
6. Combine drained pasta with cheese sauce stirring to combine fully.
7. Pour half of this mixture into the prepared baking dish. Top with one of the reserved portions of cheese then top with remaining pasta mix.
8. Sprinkle the top with the remainder of the grated cheese and bake for 15 minutes until cheese is bubbly and light golden brown.
This dish can be made ahead:
1. Make as directed (but do not bake). Transfer to baking dish and cool completely. Cover tightly with foil and refrigerate for up to 1 - 2 days ahead.
2. Before baking, let dish sit on counter for 30 minutes.
3. Bake at recipe temperature for 25 - 35 minutes until hot and bubbly.
Some people like to cook this dish covered. That's fine but you will miss the crusty delicious layer of cheese formed on top.