1 pound cavatappi or elbow macaroni
½ cup unsalted butter
½ cup all-purpose flour
6 cups whole milk
1 pound sharp or extra-sharp yellow Cheddar, coarsely grated (5 1/4 cups)
8 ounces Velveeta, torn into pieces
4 ounces Pecorino Romano, coarsely grated (1 cup)
½ teaspoon dry mustard powder
¼ teaspoon onion powder
Pinch of ground cayenne
Freshly ground black pepper
Heat oven to 350 degrees.
Bring a large pot of water to a boil and season generously with salt. Add the pasta and cook according to package instructions, stirring occasionally with a wooden spoon, until just past al dente. Drain and set aside.
Return the empty pot to the stove (no need to clean it) and set over medium heat. Melt the butter and simmer, whisking occasionally, until the butter stops spurting and quiets down, 2 to 3 minutes. Add the flour and cook, whisking, until smooth like gravy, about 1 minute.
Whisk in the milk. Raise the heat to high and bring to a simmer, whisking constantly, then immediately reduce the heat to low and continue simmering until the sauce lightly coats the back of a spoon, 2 to 5 minutes. At this stage, the sauce should be smooth but relatively loose. Take the pot off the heat.
To the pot, add the Cheddar, Velveeta, Pecorino Romano, mustard powder, onion powder and cayenne, and season generously with salt and black pepper. Whisk until the cheese is melted and smooth like nacho cheese. Add the drained pasta, breaking up any clumps, and stir until evenly coated in the cheese sauce. Taste and adjust seasoning with salt and pepper.
Transfer to a 9-by-13-inch baking pan or dish and bake until bubbling at the edges, 15 to 20 minutes. Serve immediately.