Preheat the oven to 350°F. Spray an 8x8-inch baking pan with nonstick spray.
Cook 8 ounces elbow macaroni according to the package directions until al dente. Drain the pasta well and place it in a large bowl.
Warm 2 cups milk in a small saucepan over medium heat; keep it warm (do not boil).
In a separate medium saucepan, melt 1/4 cup (1/2 stick) butter over low heat. Whisk in 1/4 cup all-purpose flour and cook, stirring constantly, for about 3 minutes until the mixture is smooth and bubbly.
Gradually whisk the warm milk into the flour-butter mixture, whisking constantly to avoid lumps. Increase the heat to medium-high and bring the sauce just to a boil, stirring frequently.
Reduce the heat to low and simmer the sauce for a few minutes, stirring occasionally.
Stir in 1/2 teaspoon salt, 1/2 teaspoon Tabasco sauce, and freshly ground black pepper to taste.
Add 1/2 cup heavy whipping cream to the sauce and mix well. Simmer 3 to 4 minutes, stirring occasionally.
Stir 12 ounces of the shredded sharp cheddar cheese into the sauce in batches, stirring frequently until the cheese is fully melted and the sauce is smooth.
Pour the cheese sauce over the drained pasta in the large bowl and stir until the pasta is evenly coated.
Spoon the coated pasta into the prepared 8x8-inch pan. Sprinkle the remaining 4 ounces of shredded sharp cheddar cheese evenly over the top.
Bake for 20 to 30 minutes, or until the casserole is bubbly. If desired, broil for 2 to 3 minutes more to brown the top—watch closely to avoid burning.