In a medium bowl, add breadcrumbs, Parmesan cheese, garlic and olive oil. Stir to combine and set aside.
Preheat oven to 375 degrees F, spray large 9x13 large baking dish with cooking spray and set aside.
To blanch green beans, bring large pot of water to a boil, add salt, green beans and cook just until crisp-tender, about 3 minutes. Transfer to an ice bath to stop cooking and set aside.
Preheat large skillet on medium heat and add 1 tablespoon butter to melt. Add mushrooms and saute for 5 minutes, stirring occasionally. Transfer to a bowl.
Return skillet to the stove, melt remaining 1 tablespoon butter and add onions. Saute for 5 minutes, stirring occasionally. Add sauteed mushrooms and sprinkle with thyme, salt, pepper and flour. Stir to combine.
Reduce heat to low and add milk in small increments, stirring the filling as it is cooking and thickening. Also add soy sauce. Continue cooking for 5 minutes or until the sauce resembles gravy and has thickened. Drain the green beans.
To assemble casserole, add half of the green beans, top with half of the sauce, finishing by spreading remaining green beans and sauce on top. Sprinkle with previously prepared topping.
Bake uncovered for 25 minutes. Remove from the oven, let stand for 10 minutes and serve hot.
Video
Notes
Make ahead: Follow the recipe and assemble the casserole without the topping. Allow it to cool, cover with plastic and refrigerate until next day. Add topping and bake as per recipe.
Store: Refrigerate leftovers tightly wrapped for up to 3 days. Reheat in the oven until warmed through or in microwave.
Dairy free milk: You can substitute regular milk with almond milk etc.
Vegangreen bean casserole: Along with the above dairy free milk, use nutritional yeast (and a little lemon) or another vegan parmesan replacement in the topping. Use vegan butter.