Preheat the oven to 425 degrees. Grease a 9 x 13 inch baking dish.
Spread the broccoli over a half sheet pan. Drizzle olive oil over all of the florets, tossing well to combine. Sprinkle with salt and pepper. Taste a floret to make sure it is well seasoned, and add additional salt if needed.
Place the broccoli in the oven and roast for 14-16 minutes, or until the florets are browned on the edges and softened. Remove from the oven, then lower the heat to 375 degrees.
While the broccoli roasts, prepare the cheese sauce. Melt the 4 Tablespoons of butter in a medium saucepan over medium heat. Stir in the flour and whisk together until smooth. Cook until bubbly, about 1 minute. Slowly drizzle in the milk, whisking constantly to combine. The mixture may be a little lumpy at first, but just keep whisking. As the mixture cooks it will become smooth and thick. Turn the heat to low, then stir in the garlic powder, and cayenne. Taste and add salt and pepper to your liking. Stir in the cheese until melted. Remove from heat.
Add the Ritz crackers to a ziplock bag or tray and use a rolling pin to break them up into smaller pieces. Pour the ¼ cup melted butter over top and stir well to combine.
Spread the roasted broccoli over the bottom of the baking dish. Pour the cheese sauce over top, stirring so the florets are well coated. Top with the cracker crumbs.
Bake the casserole for 16-20 minutes, or until crackers are browned and cheese sauce is bubbly. Allow to cool for 15 minutes before serving.