I start by preheating my oven to 325°F so it's ready to go the moment my baking dish is assembled. While that heats up, I grate all five cheeses and divide each one into fourths, which makes layering so much easier later. Getting this done early keeps the rest of the process moving quickly.
I bring a big pot of salted water to a boil and cook the cavatappi about one minute short of the package's al dente time. Since the pasta finishes cooking in the oven, slightly underdone noodles turn out perfect instead of mushy. I drain it well and toss it with olive oil so it doesn't stick together while I finish the sauce.
In a large saucepan, I melt the butter over medium heat, then whisk in the flour until it looks like wet sand, cooking it for about a minute. This roux is what gives the sauce its thick, velvety base, so I don't rush this step or let it scorch.
Next, I slowly pour in the cream and one cup of milk, whisking constantly until smooth. Then I add the remaining milk and keep whisking over medium heat for three to four minutes until the sauce visibly thickens. Patience here means no lumps later.
I stir in the salt, pepper, paprika, and garlic powder, then add a quarter of each grated cheese except the medium cheddar, which I'm saving for the topping. Once that melts smoothly, I stir in another quarter of cheese until it's fully incorporated into the sauce.
I pour the cheese sauce over the cooked pasta and stir everything together. Then I add half of that mixture into my baking dish, sprinkle a quarter of the remaining cheese over top, add the rest of the pasta, and finish with another cheese layer plus the reserved medium cheddar on top.
Finally, I slide the dish into the oven, uncovered, for about 15 minutes until the cheese is fully melted and bubbling around the edges. I like to broil it for the last minute if I want a slightly golden top, then I serve it immediately while it's still gooey