1/2 cup unsalted butter
1/2 cup all purpose flour
2 cups whole milk
2 cups half and half
4 cups shredded medium cheddar cheese divided (measured after shredding)
2 cups shredded Gruyere or parmesan cheese divided (measured after shredding)
1/2 Tbsp. salt
1/2 tsp. black pepper
1/4 tsp. smoked paprika
Preheat oven to 325 degrees F and grease a 3 qt baking dish (9x13"). Set aside.
Bring a large pot of salted water to a boil. When boiling, add dried pasta and cook 1 minute less than the package directs for al dente. Drain and drizzle with a little bit of olive oil to keep from sticking.
Melt butter in a large saucepan over MED heat. Sprinkle in flour and whisk to combine. Mixture will look like very wet sand. Cook for approximately 1 minute, whisking often. Slowly pour in about 2 cups or so of the half and half, while whisking constantly, until smooth. Slowly pour in the remaining half and half plus the whole milk, while whisking constantly, until combined and smooth.
In a large mixing bowl, combine drained pasta with cheese sauce, stirring to combine fully. Pour half of the pasta mixture into the prepared baking dish. Top with 1 1/2 cups of shredded cheeses, then top that with the remaining pasta mixture.

