Preheat oven to 350 degrees F. Lightly spray a 3 quart baking dish with cooking spray.
Bring a large pot of water to a boil. Add broccoli and boil for 4 minutes. Transfer to a colander, rinse with cold water, and drain. Place broccoli in a large bowl.
Meanwhile, melt 1 tablespoon of the butter in a medium saucepan over medium-low heat. Add the mushrooms and cook until soft, about 4 minutes, stirring occasionally. Transfer mushrooms to the bowl with the broccoli.
In the same saucepan, melt 4 tablespoons of the butter over medium heat. Whisk in the flour until smooth. Cook, whisking constantly, for 30 seconds. Whisk in the milk and half and half. Bring to a low simmer and continue to whisk constantly until thickened. Remove from the heat and stir in the salt, pepper, and Greek yogurt.
Pour the sauce into the bowl with the broccoli and mushrooms. Add the onion, egg, 1 cup of the cheddar cheese, and ½ cup of the breadcrumbs. Stir to combine. Transfer to the prepared baking dish.
Melt the remaining tablespoon of butter and stir into the remaining ¾ cup breadcrumbs. Stir in the remaining ½ cup cheddar. Sprinkle breadcrumb topping over the casserole.
Cover with foil and bake for 30 minutes. Uncover and bake 15-20 minutes more, until topping is lightly browned and casserole is hot. Let stand 10 minutes before serving.