Preheat the oven to 350ºF. Spray a 9x13-inch casserole dish with nonstick cooking spray.
Add the green beans and onions into the prepared casserole dish. Toss and set aside for later.
Heat a large saucepan over medium heat. Add the cut bacon to the hot saucepan. Make sure the pieces of bacon are separated and not stuck together.
Cook the bacon until golden brown, about 5-7 minutes. Stir occasionally so it doesn't burn.
When the bacon is golden brown, use a slotted spoon to transfer the cooked bacon from the saucepan to a small bowl. Set aside.
Leave the bacon drippings (it should be about 2-3 tablespoons) in the bottom of the saucepan and turn the heat to low.* Use the bacon drippings to create a roux. Add the flour to the saucepan and whisk with the bacon drippings until a crumble forms.
Increase the heat to medium and slowly add the milk to the saucepan, whisking constantly until the mixture begins to thicken.
Slowly add the broth to the saucepan, whisking until thick. If after 3 or 4 minutes the mixture isn't thickening, sprinkle 1 tablespoon of flour into the sauce and whisk until thick.
Remove the roux from the heat and add the fresh thyme, Worcestershire, salt, and pepper to the saucepan. Stir until combined.
Pour the bacon roux over the green beans and onions in the casserole dish and toss until everything is well coated.
Set aside 1/4 cup of the cooked bacon pieces. Add the remaining bacon pieces to the casserole dish and toss one more time.
Wipe the sides of the casserole dish clean, cover with foil, and bake for 40 minutes. Toss the beans halfway (20 minutes) through baking.
While the casserole bakes, add the breadcrumbs, sage, thyme, salt, and garlic powder to a small skillet and cook over medium heat until all the ingredients are golden brown, about 4-6 minutes. Remove the skillet from the heat and mix in the remaining 1/4 cup of cooked bacon pieces.
When the green bean casserole is done baking, uncover the casserole dish and sprinkle the breadcrumb mixture on top of the beans. Broil until the breadcrumb topping is crispy, about 2-3 minutes.
Remove from the oven and let the casserole rest for 5 minutes before serving.