Preheat oven to 350 F.
Cut chicken into small cubes.
If using fresh broccoli, cut into small pieces.
Steam broccoli for 5 minutes or until crisp-tender (if you're using microwave broccoli, microwave for a minute less than recommended).
Melt butter in saucepan over medium heat.
Add flour and mix well until completely incorporated into butter.
Add milk, stirring constantly (personally, I use a spoon for the step above and a whisk for this step - it's one extra thing to wash, but I think it makes getting a nice lump-free sauce easier).
Season with salt and pepper.
When sauce thickens, add 1 cup shredded cheddar cheese and mix well. If desired, add a dash of cayenne pepper. I've mentioned it before, but I always add cayenne when cooking with cheese - it doesn't make the dish hot, but it brings out the cheese flavor.
Combine broccoli, chicken, and cheese sauce in large bowl. This is another step that leads to one extra bowl to wash, but it makes it a lot easier to get everything mixed well.
Turn into casserole dish and top with cheddar cheese.
Bake at 350 for 20 minutes or until topping is melted and casserole is bubbling.