Grease a 9×13-inch baking dish with butter or cooking spray.
Preheat your oven to 375°F.
Cook the pasta in a large pot of boiling salted water, following package directions for al dente. Drain and return the pasta to the pot.
In a medium saucepan over medium heat, melt the butter. Whisk in the flour and cook for 1-2 minutes until lightly browned.
Gradually whisk in the milk, cooking and whisking often until the mixture thickens (about 5 minutes). Remove from heat.
Whisk in the salt, pepper, paprika, and garlic powder. Slowly stir in half of the shredded cheeses until melted and smooth.
Pour the cheese sauce over the pasta in the pot. Stir until the pasta is evenly coated.
Layer half of the pasta in the greased baking dish, sprinkle one-third of the remaining cheese over it, then add the remaining pasta topped with the rest of the cheese.
Bake uncovered for 15-20 minutes, or until the cheese is melted and bubbly.