16 ounces elbow macaroni (or other tubular pasta), cooked
1 tablespoon extra-virgin olive oil
6 tablespoons unsalted butter
1/3 cup all-purpose flour
3 cups whole milk
1 cup heavy whipping cream
4 cups sharp cheddar cheese, shredded
2 cups Gruyere cheese, shredded
Salt and pepper to taste
1 1/2 cups bread crumbs
4 tablespoons butter, melted
1/2 cup Parmesan cheese
1/4 smoked paprika (or regular)

Preheat oven to 350 degrees. Lightly grease a large 3 or 4 quart baking dish and set aside. Combine shredded cheeses in a large bowl and set aside. Cook the pasta one minute shy of al dente, according to package instructions. Remove from heat, drain and place in a large bowl. Drizzle pasta with olive oil and stir to coat pasta. Set aside to cool while preparing cheese sauce. Melt butter in a deep saucepan, Dutch oven or stock pot. Whisk in flour over medium heat and continue whisking for about one minute until bubbly and golden. Gradually whisk in the milk and heavy cream until nice and smooth. Continue whisking until you see bubbles on the surface and then continue cooking and whisking for another two minutes. Whisk in salt and pepper. Add two cups of shredded cheese and whisk until smooth. Add another two cups of shredded cheese and continue whisking until creamy and smooth. Sauce should be nice and thick. Stir in the cooled pasta until combined and pasta is coated with cheese sauce. Pour half of the mac and cheese into the prepared baking dish. Top with remaining 2 cups of shredded cheese and then the remaining mac and cheese. In a small bowl, combine bread crumbs, Parmesan cheese, melted butter and paprika. Sprinkle over the top and bake until bubbly and golden brown, about 30 minutes. Serve immediately.