This post may contain affiliate links. Please read our disclosure policy.
This Butternut Squash Lasagna is rich, creamy, and layered with roasted butternut squash, onions, garlic, and a silky homemade Béchamel sauce. It’s the ultimate fall comfort food and makes a beautiful vegetarian Thanksgiving main dish that even meat lovers can’t resist.

Krissy’s Notes
Every Thanksgiving, I like to invite both family and friends, and that means I’m always trying to serve something that impresses everyone at the table. A few years ago, I had a vegetarian guest coming and wanted to make something hearty enough that she’d love it, but flavorful enough that the meat eaters wouldn’t even miss the turkey. This creamy butternut squash lasagna became the answer.
It’s comfort food in its most elegant form: roasted butternut squash and sweet onions layered with mozzarella, parmesan, and a luscious white Béchamel sauce infused with sage and basil. Every bite is savory and satisfying without being heavy.
If you love butternut squash as much as I do, you’ll also want to try my Creamy Butternut Bacon Pasta or my Butternut Squash Risotto. They’re another fall favorite that proves how versatile this vegetable can be.

What You’ll Need To Make It
You’ll find the full ingredient list in the recipe card below, but here’s a quick overview.
You’ll need butternut squash, onion, garlic, butter, sage, basil, flour, milk, mozzarella, parmesan, and no-boil lasagna noodles. The sauce is a classic Béchamel (white sauce) made from butter, flour, and milk, thickened just enough to coat every layer. The roasted vegetables add sweetness, while the sage and nutmeg balance everything with warmth.

How to Make Butternut Squash Lasagna
Full instructions are in the recipe card below, but here’s a quick summary.
- Roast the vegetables. Toss the cubed squash, sliced onions, and garlic with olive oil and salt, then roast until tender and golden. I use a similar method when I make Roasted Winter Squash or Roasted Root Vegetables.
- Make the Béchamel. Sauté sage and basil in butter, whisk in flour, then slowly add milk until smooth and creamy. Season with salt and nutmeg.
- Assemble the lasagna. Layer the Béchamel, noodles, cheese, and roasted vegetables twice, finishing with sauce and cheese on top.
- Bake and broil. Bake covered until bubbly, then broil briefly to brown the top. Let it rest before slicing.
Make Ahead, Storage, and Reheating
To make ahead: Assemble up to a day in advance, cover, and refrigerate. Bake just before serving.
To store: Keep leftovers in an airtight container in the fridge for up to 3 days.
To reheat: Warm in a 350°F oven until heated through, or microwave individual portions with a splash of milk to keep it creamy.

Learn From Me
I’ve made this white sauce lasagna pretty much every fall, and every time I’m reminded why it’s such a great recipe. It’s simple enough for a weeknight yet elegant enough for a holiday. The key is roasting the vegetables until they’re caramelized. You’ll get that rich flavor that balances the creamy sauce perfectly.
You can also make this with fresh pasta or homemade noodles if you want to go the extra mile (and impress your guests even more).
Frequently Asked Questions
Here are some of the reader questions I’ve gotten about this recipe with my responses.
Yes! If you use frozen, just thaw and pat dry before roasting to avoid excess moisture. If you use pre-cut, just make sure the pieces are small enough.
Use gluten-free lasagna noodles and swap the flour in the sauce for a gluten-free blend. It works beautifully.
Absolutely. I do this when I make my Roasted Vegetable Lasagna and sometimes when I make my Spinach Sausage Lasagna. Mushrooms, spinach, or even roasted cauliflower make delicious additions.
Pin this now to save it for later
Pin ItButternut Squash Lasagna

Ingredients
For the vegetables
- 5 cups butternut squash peeled and cut into 1/2-inch cubes (one small squash will yield about 5 cups)
- 2 tablespoons extra-virgin olive oil
- Kosher salt
- 1 onion halved and sliced
- 4 cloves garlic sliced
For the bechamel
- 4 tablespoons unsalted butter
- 6 sage leaves sliced into thin ribbons
- 12 basil leaves sliced into thin ribbons
- 4 tablespoons all-purpose flour
- 4 cups whole milk
- 1 pinch freshly grated nutmeg
For the lasagna
- Unsalted butter for greasing the baking dish
- 8 ounces mozzarella cheese grated if low-moisture mozzarella used (8 ounces yields about 2 cups)
- 4 ounces parmesan cheese grated (4 ounces yields about 1 cup)
- 9 no-boil lasagna noodles
Instructions
Make the vegetables:
- Preheat the oven to 425°F. Toss the 5 cups butternut squash with 1 tablespoon of the 2 tablespoons extra-virgin olive oil on a baking sheet; season with Kosher salt. Toss the sliced 1 onion and the 4 cloves garlic with the remaining olive oil on a separate baking sheet; season with salt. Roast, rotating the baking sheets once, until the vegetables are tender, 18 to 20 minutes; set aside. Reduce the oven temperature to 350 degrees F.
Meanwhile, make the bechamel:
- Melt 4 tablespoons unsalted butter in a medium saucepan over medium heat. Add the thinly sliced 6 sage leaves and 12 basil leaves and cook 1 minute. Whisk in the 4 tablespoons all-purpose flour until smooth; cook, whisking, until the flour is lightly golden but not brown, about 2 minutes. Gradually whisk in the 4 cups whole milk until smooth. Bring to a boil, then reduce the heat to medium low and simmer, stirring occasionally, until thickened, about 5 minutes. Stir in 1 pinch freshly grated nutmeg.
Assemble the lasagna:
- Butter a 9-by-13-inch baking dish. Toss the 8 ounces mozzarella cheese and 4 ounces parmesan cheese in a bowl; set aside 1/2 cup for topping. Evenly coat the bottom of the dish with 1/2 cup of the bechamel. Lay 3 of the 9 no-boil lasagna noodles side by side on top. Cover with one-third of the remaining bechamel. Sprinkle with half of the remaining cheese mixture, then top with half of the vegetable mixture. Arrange 3 more noodles on top and repeat the layers (bechamel, cheese, vegetables). Top with the remaining 3 noodles, then cover with the remaining bechamel; sprinkle with the reserved 1/2 cup cheese.
- Loosely cover the dish with foil and bake until bubbly, about 45 minutes. Turn on the broiler. Uncover the lasagna and broil until browned, about 2 minutes. Let stand 15 minutes before serving.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.


















I’m so excited to make this!!! Thank you!
There is an amount for the flour but not how to divide it, first for the sauce and then there is a mention of flour mixed with the cheeses. Confusing. How much each time?
Oh gosh, I’m so sorry! The flour is only for the sauce. I must have accidentally said to toss the cheese (with the flour) which makes absolutely no sense. Thank you for catching that mistake and letting me know. What I meant was to toss the cheeses since there are two varieties… but there is no flour in that part of the recipe. I’ll fix that mistake now.
Krissy,
In the recipe ingredients it states 6 lasagna noodles. In the instructions, it states that you layer 3 noodles 3 separate times. So that would be 9 lasagna noodles. Right?
Doh! Sorry about that! Yes – 9 noodles total. I just updated the recipe. Thank you so much for catching that!
When do you add basil?
Oh and can you use homemade noodles instead f no boil?
Only if you send me some! Homemade is always best!
Sorry about that! You add it when you add the sage. I updated the instructions. Thanks!
The Lasagna was delicious! I added my Parmesan cheese to the bechemal sauce. Thank you for the recipe!