Cook macaroni per package instructions.
Once the macaroni is done, drain the water and set aside.
Place the cheese on a cutting board and shred using a cheese grater.
Mix the cheese together in a bowl and set aside. Be sure to reserve about 3/4 cup of cheese to sprinkle on the macaroni and cheese before you place it in the oven.
Set your stove top to medium high heat and melt 4 tbsp of butter. Be sure not to burn the butter. Decrease the heat if needed.
Once the butter is melted add the flour.
Mix the butter and flour together using a whisk.
Add the milk one cup at a time and mix it with the flour and butter. Be sure to continue to stir it.
Add the heavy cream one cup at a time and mix it with the flour and butter. Be sure to continue to stir it.
Decrease the stove top temperature to medium heat and continue to stir slowly as the roux thickens.
Once the roux thickens, add the cheese a cup at a time and mix. Continue to stir until all cheese is melted.
Turn off the heat.
Add the salt, pepper and paprika.
Set your oven to broil on high heat or 450 degrees.
Take a medium square deep baking dish and add 1-2 tbsp of melted butter.
Add the first layer of macaroni and cheese to the dish and then sprinkle cheese on top.
Add another layer of macaroni and cheese and sprinkle cheese on top.
Place the macaroni and cheese in the oven for about 3 minutes or until the cheese is bubbly and lightly browned on top.
Remove the macaroni and cheese from the oven carefully and allow it to sit for 10 minutes.