Start by heating your oven to 350°F / 180°C / gas mark 4.
Bring a large pot of salted water to a boil and add the macaroni. Cook just shy of al dente, about 8 to 9 minutes, then drain thoroughly. Toss with 3 tablespoons of butter to keep it from sticking.
In a large, shallow cast-iron pot or Dutch oven, melt the remaining 3 tablespoons of butter over medium heat. Stir in the flour and whisk continuously for about a minute to form a roux.
Slowly add the milk and half-and-half while whisking, cooking the mixture for 5 to 8 minutes until it thickens into a creamy sauce.
Remove the pot from heat and fold in all the cheeses until melted and the sauce is silky. If needed, return to low heat to help melt the cheese fully. Season with salt and black pepper to your preference.
Combine the cheese sauce with the cooked pasta, stirring well to coat every piece.
Spread the remaining grated cheeses evenly over the top and place the casserole in the oven. Bake for 15 minutes, until the sauce bubbles and cheese melts.
For an extra golden crust, broil the mac and cheese for 2 to 3 minutes.
Allow it to rest for around 10 minutes before serving. Optionally, sprinkle with black pepper and fresh parsley for garnish. Enjoy your comforting, cheesy Chick Fil A mac and cheese!