Preheat the oven to 350°F. Spray a 9x13-inch baking dish with non-stick cooking spray. Set aside.
Bring a large pot of water to a boil. Add green beans and cook until bright green and tender, about 4-5 minutes. While the beans are boiling, set out a large bowl of ice water. When the beans are done, drain and place them in a bowl of ice water to stop cooking. Set aside.
To a large non-stick skillet over medium heat, add bacon. Cook for 9-11 minutes, or until crispy. Transfer the bacon to a plate. Leave about 2 tablespoons of bacon grease in the skillet, discarding the rest.
To the skillet with the bacon grease, add the onions and mushrooms. Cook for 3-4 minutes, or until softened.
Add the garlic and cook for 1 more minute. Remove from heat.
To a large bowl, add the bacon, cream of mushroom soup, heavy cream, salt, pepper, green beans, and the onions and mushrooms mixture. Stir to combine.
Transfer to the prepared baking dish. Bake for 30 minutes.
While the casserole is baking, prepare the fried onions.