Cook the elbow macaroni in salted boiling water for 7 to 8 minutes until just tender, then drain and set aside.
Melt the butter in a large saucepan over medium heat, whisk in the flour, and cook for 1 minute until smooth and lightly golden.
Gradually whisk in the milk and heavy cream, then simmer for 3 to 4 minutes, stirring constantly, until the sauce thickens enough to coat the back of a spoon.
Remove from heat, stir in the cheddar cheese, Parmesan cheese, and salt until fully melted and smooth.
Add the cooked macaroni to the cheese sauce and toss gently until every piece is evenly coated.
Serve immediately while hot and creamy for the best restaurant-style texture.