Cook elbow macaroni according to package instructions for al dente. Drain, reserving ½ cup of the cooking water.
While macaroni cooks, melt butter in a large pot over medium heat. Once melted add in the flour and stir until well combined with the butter. Cook, stirring often for 1-2 minutes.
Slowly whisk in the half and half, until no lumps remain. Whisk in the milk and seasonings and bring to a low boil. Boil for 3-4 minutes, stirring often to prevent scorching on the bottom, until the mixture thickens and coats the back of the spoon.
Turn off heat and add in the cheese a handful at a time, while stirring, until it is all smooth and incorporated. Add in your drained pasta and stir, until fully combined. Use the reserved pasta water to thin to your desired consistency if needed. The cheese sauce will thicken as it stands. Garnish with chopped parsley and or toasted panko bread crumbs if desired.
For the optional panko topping: heat butter in a saute pan over medium heat until foamy. Add in breadcrumbs and stir until all the crumbs are coated with butter. Stir the breadcrumbs around often and cook until lightly browned and toasted. Remove from heat, add in seasonings and combine. Use it to top the mac and cheese if desired.
Notes
Leftovers can be stored in an airtight container in the fridge for up to 5 days.Add a splash of milk when reheating to help thin out the sauce. Best if reheated in individual portions in the microwave or on the stove top in a pan.Store any leftover bread crumbs separately in an airtight container at room temperature for up to 5 days.