Preheat oven to 350 degrees F.
Melt 2 tablespoons of butter in medium saucepan over medium high heat. Add in onions and cook until translucent, about 4 minutes. Stir in flour and stir to coat onions. Cook for 2 minutes. Remove from heat and whisk in hot milk. Return to heat and bring to a simmer. Stir in cheese by the handful. Add broccoli to the cheese sauce and pour into buttered casserole dish.
Melt remaining butter in a small skillet and stir in cracker crumbs. Cover the broccoli casserole with the buttered cracker crumbs. Bake until bubbly and lightly browned, about 20 minutes.