Cook the pasta: Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to the package instructions. Drain and set aside.
Make the cheese sauce: In a separate pot, melt the butter over medium heat. Add the flour and whisk for about 1 minute to form a roux (a thick paste). Slowly add the milk, whisking constantly to avoid lumps. Bring the mixture to a simmer and cook until it thickens, about 3-4 minutes.
Add the cheese: Lower the heat and stir in the shredded cheddar cheese and grated Parmesan until melted and smooth. Add mustard powder, salt, and pepper to taste.
Combine: Add the cooked macaroni to the cheese sauce and stir to combine. Garnish with paprika if desired. Serve hot!