Preheat the oven to 350° F.
Cook the elbow noodle in salted boiling water until al dente.
Strain and toss in 1/2 teaspoon of butter and stir until fully melted. This will keep the macaroni noodles from sticking to each other.
Prepare the cheese sauce by melting the butter in a large sauce pan.
Add the flour and whisk until a roux forms.
Cook over medium low heat for a minute or two more.
Add the milk and the cream.
Whisk until the roux has been completely dissolved and incorporated into the milk and cream.
Cook over medium heat, whisking occasionally, until the mixture thickens into a béchamel sauce.
Add half of the cheddar and half of the Gruyere. Reserve the remaining cheese.
Stir until all the cheese has melted and is integrated into the sauce.
Add the paprika, salt and pepper. Test to taste. Adjust as needed.
Remove the pan from the heat.
Add the macaroni noodles into the sauce in the pan and stir until everything is well incorporated.
Pour half of the macaroni mixture into a buttered 8 1/4 x 11-inch oven dish.
Sprinkle half of the remaining cheese.
Top with the remaining macaroni mixture and the rest of the cheese.
Bake until the cheese is fully melted and the macaroni and cheese is bubbling.
If desired, turn the oven to broil for two minutes to add some color to the top of the mac and cheese (optional).
Remove from the oven and allow the mac and cheese to cool for about 5 minutes.
Serve.