Cook onion and broccoli in boiling water for 8 minutes. Drain and put in a large casserole dish.
Melt 2 tbsp butter over low heat. Add flour, salt & pepper. Add milk, stirring until thick and bubbly. Add the cream cheese, stirring until melted. Pour sauce over veggies. Sprinkle grated cheese over top.
Cover and bake at 350 degrees for 30 minutes. While cooking, melt 2 tbsp butter and mix with the breadcrumbs.
After 30 minutes, add the breadcrumbs to the casserole and bake uncovered for another 30 minutes.