Love this? Save it for later!
Share the inspiration with your friends
My friend Carla swore she hated green bean casserole. For years. Every Thanksgiving, she would side-eye that baking dish like it had personally wronged her. “It’s just… sad vegetables in gray goo,” she’d say, pushing her chair back an inch. I’d nod and pass the mashed potatoes, never bothering to defend it. Honestly, I kind of got it. The canned soup version? Not exactly a culinary masterpiece. But then last November, I found myself with a surplus of fresh green beans and a stubborn idea. I made this lighter version just for myself, a quiet experiment on a random Tuesday. I set it on the counter to cool and walked away for exactly three minutes. When I came back, Carla was standing there, fork in hand, mid-bite. She froze. “Okay,” she mumbled, cheeks full. “This is different.” That was the crack. And honestly, it was the most satisfying kitchen victory I’ve ever had. This is the recipe that changed her mind, and maybe it will change yours too.
Why You’ll Love This Recipe
This isn’t your grandmother’s green bean casserole—well, it is, but better. And lighter. And made entirely from scratch, which sounds fancy but is actually easier than you think. I’ve tested this version more times than I can count, tweaking the sauce and the shallots until everything clicked. Here is why I keep coming back to it:
- Quick & Easy: Comes together in about 45 minutes, most of which is hands-off oven time. Perfect for a busy weeknight or a holiday table.
- Simple Ingredients: No canned soup, no mystery ingredients. Just fresh green beans, mushrooms, shallots, and a few pantry staples you probably already have.
- Perfect for Holiday Dinners: It holds up beautifully on a buffet table and actually tastes better after a short rest. Make it ahead if you want.
- Crowd-Pleaser: Even the green-bean-casserole skeptics (I’m looking at you, Carla) will ask for seconds. The crispy shallots are borderline addictive.
- Unbelievably Delicious: The creamy mushroom sauce is rich without being heavy, and the shallots add this incredible crunch that makes every bite interesting.
What makes this recipe different is the sauce. Instead of a heavy cream-and-flour roux, I use a blend of low-fat milk and a touch of cream cheese for silkiness without the weight. The shallots are baked, not fried, so they get crispy without absorbing a ton of oil. It is comfort food reimagined—lighter, fresher, but with the same soul-soothing satisfaction. You know that feeling when you take a bite and just close your eyes for a second? That is this casserole.
What Ingredients You Will Need
This recipe uses simple, wholesome ingredients to deliver bold flavor and satisfying texture without the fuss. Most of these are pantry staples, and the fresh ones are easy to find at any grocery store.
For the Casserole Base
- 1 ½ pounds fresh green beans, trimmed and cut into 2-inch pieces (look for bright, firm beans—skip any that are limp or brown)
- 2 tablespoons unsalted butter (I use Kerrygold for the flavor, but any good butter works)
- 8 ounces cremini mushrooms, sliced (baby bellas are perfect; they have more flavor than white mushrooms)
- 1 small yellow onion, finely diced
- 3 cloves garlic, minced
- 3 tablespoons all-purpose flour (use gluten-free all-purpose blend if needed)
- 1 ½ cups low-fat milk (2% works great; avoid skim or it will be too thin)
- ½ cup low-sodium chicken or vegetable broth
- 2 ounces cream cheese, softened (reduced-fat is fine, but don’t use nonfat—it won’t melt smoothly)
- ½ teaspoon salt, plus more for the bean water
- ¼ teaspoon black pepper
- ¼ teaspoon garlic powder
- Pinch of nutmeg (trust me on this—it makes the sauce taste creamy without extra cream)
For the Crispy Shallots
- 3 large shallots, thinly sliced into rings (use a mandoline if you have one for even slices)
- 1 tablespoon olive oil
- ½ teaspoon salt
- ¼ teaspoon black pepper
I recommend using fresh green beans here, not frozen. Frozen beans release too much water and make the sauce watery. For the mushrooms, cremini are my go-to, but white button mushrooms work fine too. If you want to swap the cream cheese for a dairy-free version, use a plain, unsweetened vegan cream cheese—just make sure it’s softened so it incorporates smoothly.
Equipment Needed
You don’t need anything fancy for this recipe, which is part of the beauty of it. Here is what you will need:
- Large pot for blanching the green beans (a 5-quart pot is perfect)
- Large skillet or sauté pan for the mushroom sauce (a 12-inch pan gives you room to stir)
- 9×13-inch baking dish (or any 2.5-quart casserole dish)
- Baking sheet for the crispy shallots (rimmed is best to keep them from sliding off)
- Sharp knife and cutting board
- Measuring cups and spoons
- Wooden spoon or silicone spatula
- Colander for draining the beans
If you don’t have a mandoline for the shallots, just use a sharp knife and try to slice them as evenly as possible. I actually prefer a knife because I can control the thickness better. Also, if you have a microplane, a quick grating of fresh nutmeg makes a big difference, but the pre-ground stuff works in a pinch.
Preparation Method
-
Preheat your oven to 400°F (200°C). Position one rack in the middle and one in the upper third. You will use both.
-
Blanch the green beans. Bring a large pot of salted water to a rolling boil. Add the trimmed green beans and cook for exactly 3 minutes. They should turn bright green and be tender-crisp. Drain immediately and transfer to a bowl of ice water to stop the cooking. Let them sit for 2 minutes, then drain well and pat dry with a clean kitchen towel. This step is crucial—do not skip it or the beans will be mushy in the final dish.
-
Make the crispy shallots. While the beans are blanching, toss the sliced shallots with olive oil, salt, and pepper on a rimmed baking sheet. Spread them into a single layer—don’t overcrowd or they will steam instead of crisp. Bake on the upper rack for 12-15 minutes, stirring halfway through. They should be golden brown and crispy, but watch them closely in the last few minutes because they burn fast. Set aside to cool.
-
Start the mushroom sauce. In a large skillet over medium heat, melt the butter. Add the sliced mushrooms and cook, stirring occasionally, for 6-8 minutes until they release their liquid and start to brown. Add the diced onion and cook for another 3-4 minutes until softened. Stir in the minced garlic and cook for 30 seconds until fragrant.
-
Make the roux. Sprinkle the flour over the mushroom mixture and stir constantly for 1-2 minutes. This cooks out the raw flour taste. The mixture will look thick and pasty—that is exactly what you want.
-
Build the sauce. Slowly pour in the low-fat milk while whisking continuously to prevent lumps. Then add the broth and keep whisking. Bring the mixture to a gentle simmer—it should bubble around the edges—and cook for 2-3 minutes until it thickens enough to coat the back of a spoon.
-
Finish the sauce. Reduce the heat to low and stir in the softened cream cheese until completely melted and smooth. Add the salt, pepper, garlic powder, and nutmeg. Taste and adjust seasoning—remember the shallots are salty too, so don’t overdo it.
-
Assemble the casserole. Add the blanched green beans to the skillet with the sauce and stir until every bean is coated. Pour the mixture into your greased 9×13-inch baking dish and spread it into an even layer.
-
Bake. Place the casserole on the middle rack and bake for 20-25 minutes until bubbly around the edges and slightly golden on top.
-
Top and serve. Remove the casserole from the oven and sprinkle the crispy shallots over the top. Let it rest for 5 minutes before serving—this helps the sauce set slightly so it doesn’t run all over the plate.
Cooking Tips & Techniques
I have made this casserole at least a dozen times, and I have learned a few things the hard way. Here are my best tips:
Don’t skip the blanching step. I know it is tempting to just toss raw beans into the sauce, but blanching sets their color and texture. Raw beans will release water as they bake, making the sauce watery and leaving you with sad, dull green beans. Trust the process.
Watch those shallots like a hawk. The first time I made this, I got distracted by a phone call and burnt the shallots to a crisp. They go from golden to black in about 30 seconds. Set a timer and check them at the 10-minute mark. They should be deeply golden and smell nutty and sweet.
Let the sauce simmer properly. If you rush this step, the flour won’t cook through and your sauce will taste raw and pasty. Give it the full 2-3 minutes of simmering, and don’t stop whisking. You want a smooth, velvety sauce that coats the beans without being gluey.
Use room-temperature cream cheese. Cold cream cheese will leave you with lumpy sauce. Let it sit on the counter for 20 minutes before you start cooking, or microwave it for 10 seconds to soften it up.
Make it ahead if you want. Assemble the casserole completely (without the shallots) up to a day in advance. Cover and refrigerate, then bake as directed, adding 5-10 minutes to the baking time. Add the crispy shallots right before serving so they stay crunchy.
Variations & Adaptations
This recipe is flexible, and I have tried a few different versions depending on what I have on hand or who I am cooking for.
Gluten-Free Version: Swap the all-purpose flour for a gluten-free all-purpose blend or cornstarch. If using cornstarch, mix 2 tablespoons with 2 tablespoons cold water to make a slurry, then stir it into the sauce at the end instead of making a roux. It works beautifully.
Vegan Adaptation: Use plant-based butter, unsweetened oat milk (it is creamier than almond milk), and a vegan cream cheese. I have tried this with Miyoko’s cream cheese and it was surprisingly good. The sauce will be slightly thinner, so let it simmer an extra minute to thicken.
Add Some Protein: Stir in 1 cup of cooked, shredded chicken or crumbled bacon to make this a main dish. I did this once when I had leftover rotisserie chicken, and it was honestly amazing. Just fold it in with the green beans before baking.
Spice It Up: Add a pinch of red pepper flakes or a dash of smoked paprika to the sauce for a little warmth. My neighbor loves it with a teaspoon of Dijon mustard stirred in at the end—it adds a subtle tang that cuts through the richness.
Seasonal Twist: In the summer, swap the green beans for fresh asparagus (blanch for 2 minutes instead of 3). In the fall, add a handful of sautéed spinach or kale to the sauce for extra greens.
Serving & Storage Suggestions
This casserole is best served warm, right after it comes out of the oven. The shallots are at their crispiest in the first 30 minutes, so don’t let it sit too long. I like to serve it alongside a simple roasted chicken or a juicy pork chop for a complete meal. For holiday dinners, it fits right in next to mashed potatoes, roasted turkey, and cranberry sauce.
Storage: Leftovers keep well in an airtight container in the refrigerator for up to 4 days. The shallots will soften over time, but the casserole itself is still delicious. I actually like it cold straight from the fridge—don’t judge me.
Reheating: The best way to reheat is in a 350°F oven for 10-15 minutes until warmed through. You can also microwave individual portions, but the texture won’t be as nice. If you want to revive the crunch, sprinkle a few fresh crispy shallots on top after reheating.
Freezing: You can freeze the unbaked casserole (without the shallots) for up to 3 months. Thaw overnight in the fridge, then bake as directed, adding 10 minutes to the baking time. Add fresh crispy shallots after baking. I have done this for holiday prep, and it works like a charm.
Nutritional Information & Benefits
This lighter version cuts the calories and fat of traditional green bean casserole by about half, without sacrificing flavor. Here is the estimated nutrition per serving (based on 8 servings):
| Nutrient | Amount per Serving |
|---|---|
| Calories | 185 |
| Total Fat | 9g |
| Saturated Fat | 4g |
| Cholesterol | 20mg |
| Sodium | 420mg |
| Total Carbohydrates | 18g |
| Dietary Fiber | 4g |
| Sugars | 7g |
| Protein | 6g |
Green beans are a great source of fiber, vitamin C, and vitamin K. Mushrooms provide B vitamins and selenium, which supports immune health. By using low-fat milk and reducing the butter, this recipe keeps the creamy texture you love with less saturated fat. It is a side dish that actually makes you feel good after eating it—not heavy and sluggish.
Conclusion
This lighter green bean casserole from scratch with crispy shallots is the kind of recipe that proves you don’t need canned soup or heavy cream to make something truly delicious. It is fresh, satisfying, and honestly, it tastes like the holidays should taste—comforting without being weighed down. I make it for Thanksgiving, sure, but I also make it on random weeknights when I want something that feels special without a ton of effort.
I would love to hear how it turns out for you. Did you add any twists? Did your picky eater go back for seconds? Drop a comment below and let me know. And if you share a photo on Pinterest, tag me—I always love seeing your versions. Happy cooking, and here is to proving the skeptics wrong, one bite at a time.
Frequently Asked Questions
Can I use frozen green beans instead of fresh?
I don’t recommend it. Frozen green beans release a lot of water as they cook, which will make your sauce watery and thin. Fresh beans give you a much better texture and flavor. If frozen is all you have, thaw them completely and pat them very dry before using.
Can I make the crispy shallots ahead of time?
You can, but they are best within a few hours of baking. If you make them a day ahead, store them in an airtight container at room temperature. They will soften slightly, but you can re-crisp them in a 350°F oven for 3-4 minutes before topping the casserole.
How do I keep the sauce from being lumpy?
The key is to whisk constantly when you add the milk to the flour mixture. Pour the milk in slowly while whisking vigorously. Also, make sure your cream cheese is softened before adding it—cold cream cheese will leave lumps that are hard to smooth out.
Can I double this recipe for a crowd?
Absolutely. Double all the ingredients and use a larger baking dish (or two 9×13 dishes). The baking time may increase by 5-10 minutes, so keep an eye on it. You will need to blanch the beans in batches or use a bigger pot to avoid overcrowding.
Is this recipe gluten-free?
Not as written, but it is easy to adapt. Use a gluten-free all-purpose flour blend or cornstarch to thicken the sauce. If using cornstarch, mix it with cold water first to make a slurry, then stir it into the sauce at the end. Also, double-check that your broth is gluten-free.
Pin This Recipe!

Lighter Green Bean Casserole from Scratch with Easy Crispy Shallots
This lighter green bean casserole from scratch with crispy shallots is the kind of recipe that proves you don’t need canned soup or heavy cream to make something truly delicious. It is fresh, satisfying, and tastes like the holidays should taste—comforting without being weighed down.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Total Time: 45 minutes
- Yield: 8 servings 1x
- Category: Side Dish
- Cuisine: American
Ingredients
- 1 ½ pounds fresh green beans, trimmed and cut into 2-inch pieces
- 2 tablespoons unsalted butter
- 8 ounces cremini mushrooms, sliced
- 1 small yellow onion, finely diced
- 3 cloves garlic, minced
- 3 tablespoons all-purpose flour
- 1 ½ cups low-fat milk (2%)
- ½ cup low-sodium chicken or vegetable broth
- 2 ounces cream cheese, softened
- ½ teaspoon salt, plus more for bean water
- ¼ teaspoon black pepper
- ¼ teaspoon garlic powder
- Pinch of nutmeg
- 3 large shallots, thinly sliced into rings
- 1 tablespoon olive oil
- ½ teaspoon salt
- ¼ teaspoon black pepper
Instructions
- Preheat your oven to 400°F (200°C). Position one rack in the middle and one in the upper third.
- Blanch the green beans: Bring a large pot of salted water to a rolling boil. Add the trimmed green beans and cook for exactly 3 minutes. Drain immediately and transfer to a bowl of ice water to stop the cooking. Let them sit for 2 minutes, then drain well and pat dry.
- Make the crispy shallots: Toss the sliced shallots with olive oil, salt, and pepper on a rimmed baking sheet. Spread into a single layer. Bake on the upper rack for 12-15 minutes, stirring halfway through, until golden brown and crispy. Set aside to cool.
- Start the mushroom sauce: In a large skillet over medium heat, melt the butter. Add the sliced mushrooms and cook, stirring occasionally, for 6-8 minutes until they release their liquid and start to brown. Add the diced onion and cook for 3-4 minutes until softened. Stir in the minced garlic and cook for 30 seconds until fragrant.
- Make the roux: Sprinkle the flour over the mushroom mixture and stir constantly for 1-2 minutes.
- Build the sauce: Slowly pour in the low-fat milk while whisking continuously to prevent lumps. Then add the broth and keep whisking. Bring to a gentle simmer and cook for 2-3 minutes until thickened.
- Finish the sauce: Reduce heat to low and stir in the softened cream cheese until completely melted and smooth. Add the salt, pepper, garlic powder, and nutmeg. Taste and adjust seasoning.
- Assemble the casserole: Add the blanched green beans to the skillet with the sauce and stir until every bean is coated. Pour into a greased 9×13-inch baking dish and spread into an even layer.
- Bake: Place the casserole on the middle rack and bake for 20-25 minutes until bubbly around the edges and slightly golden on top.
- Top and serve: Remove from oven and sprinkle the crispy shallots over the top. Let rest for 5 minutes before serving.
Notes
Don’t skip the blanching step. Watch the shallots closely as they burn fast. Let the sauce simmer properly to avoid raw flour taste. Use room-temperature cream cheese to prevent lumps. Make ahead: assemble without shallots, refrigerate up to 1 day, then bake adding 5-10 minutes. For gluten-free, use gluten-free flour or cornstarch slurry. For vegan, use plant-based butter, oat milk, and vegan cream cheese.
Nutrition
- Serving Size: 1 serving (about 1 c
- Calories: 185
- Sugar: 7
- Sodium: 420
- Fat: 9
- Saturated Fat: 4
- Carbohydrates: 18
- Fiber: 4
- Protein: 6
Keywords: green bean casserole, lighter, from scratch, crispy shallots, Thanksgiving, holiday, side dish, vegetarian


