Cook the pasta according to package instructions, then drain.
Steam the broccoli florets until tender, about 3-5 minutes.
In a large saucepan, melt the butter over medium heat.
Whisk in the flour and cook for about 1 minute.
Gradually add the milk, whisking continuously to avoid lumps.
Bring the mixture to a simmer and cook until thickened, about 3-5 minutes.
Remove from heat and stir in the cheeses, salt, pepper, and garlic powder.
Add the cooked pasta and steamed broccoli into the cheese sauce.
Transfer the mixture to a greased baking dish if baking.
Bake at 350°F for about 20 minutes, until bubbly and golden.