Preheat oven to 350°F. Lighly grease a 3 or 4 quart baking dish and set aside.
Combine shredded cheeses in a large mixing bowl and set aside.
Cook the pasta 1 minute shy of al dente according to the package instructions. Remove from heat, drain and place in a large bowl.
Drizzle pasta with olive oil and set aside.
Melt butter in a dutch oven, deep saucepan or stock pot. Whisk in flour over medium heat and continue whisking for 1 minute until bubbly and golden brown.
Gradually whisk in milk and heavy whipping cream until smooth. Continue whisking until bubbles surface. Continue whisking and cooking for another 2 minutes. Add salt and pepper.
Add 2 cups of shredded cheese and whisk until smooth. Add another 2 cups of shredded cheese and continue whisking until smooth. The sauce should be nice and thick.
Stir in the pasta and coat with the sauce. The pasta should be fully coated with the cheese sauce.
Pour half of the macaroni and cheese into the baking dish. Add the remaining 2 cups of shredded cheese and then add the remaining macaroni and cheese on top.
In a small bowl, combine panko breadcrumbs, Parmesan cheese, melted butter and paprika. Sprinkle over the top and bake until bubbly and golden brown, about 30 minutes. Serve immediately.