Preheat oven to 375. Place broccoli on a large baking sheet and lightly drizzle with olive oil. Roast for 7-10 minutes, or until broccoli is starting to get a little brown in small spots. You don't want it fully cooked, but you want some roasty flavor.
Melt butter in a medium saute pan. Add onion, and saute over medium low heat for 4-5 minutes. Whisk in flour, and reduce heat to low. Continue cooking for 5 minutes, stirring frequently.
Add milk, dry mustard, garlic powder, and salt. Whisk to combine, and cook over medium-low heat until the mixture is slightly thickened. Remove from heat and stir in 1 cup of cheese.
Place broccoli in a large baking pan. Pour cheese sauce over the top. Top with the rest of the cheese.
Combine butter and melted butter. Sprinkle over the cheese, and bake at 325 for 30 minutes, or until the cheese is melted and bubbly and the broccoli is tender.