Preheat oven to 350°F. Butter a 9x13-inch casserole dish.
Cook the macaroni in boiling, salted water until al dente. Drain. While the pasta is cooking, prepare the cheese sauce.
In a large saucepan, melt 8 tablespoons of the butter. Whisk in the flour and cook for a few minutes, stirring frequently, until lightly browned.
Slowly whisk in the milk. Continue cooking and whisking until the sauce has thickened.
Add the shredded cheese and stir until melted and smooth. Season well with salt and pepper to taste.
Place the drained macaroni in the prepared casserole dish. Pour the cheese sauce over the macaroni and gently stir to combine.
Melt the remaining 4 tablespoons butter and combine with the crushed crackers. Sprinkle evenly over the macaroni and cheese.
Bake for 20–25 minutes, until hot, bubbly, and lightly browned on top.