Cook the elbow macaroni according to package instructions until al dente. Drain and set aside.
In a large skillet, melt the butter over medium heat.
Whisk in the flour and cook for 1-2 minutes until golden, forming a roux.
Gradually add the milk while whisking continuously.
Cook the sauce, stirring often, until it thickens and bubbles.
Stir in the cheddar cheese and mozzarella until fully melted.
Add the cooked macaroni and diced chicken to the cheese sauce and stir until fully coated.
Transfer to a greased baking dish, and optionally sprinkle extra cheese on top.
Bake in a preheated oven at 350°F (175°C) for about 20 minutes or until bubbly.
Let it cool slightly before serving.