Roasting the sweet potatoes first gives them a rich creamy texture. Slideshow: More Lasagna Recipes
Preheat the oven to 400°F.
On a baking sheet, toss the sweet potatoes with the oil, 1/2 teaspoon salt and 1/4 teaspoon pepper. Roast the squash in the oven until tender, about 30 minutes.
While the sweet potatoes roast, make the sauce: In a large heavy pot, heat the butter over medium high heat until hot. Stir in the onion, garlic, 1 teaspoon salt and 3/4 tea-spoon pepper, and cook, stirring, until golden, about 8 minutes. Stir in the flour and cook, stirring, 1 minute. Whisk in the milk and bring to a boil, whisking. Boil 5 minutes, then remove from the heat. Season the sauce with salt and pepper to taste.
In a 3-to 3 1/2-quart lasagna dish spread 1 cup of the sauce over the bottom. Place 3 lasagna noodles evenly over the sauce, leaving even space between the noodles. Top the noodle layer evenly with a layer of sauce, then place another 3 noodles on top. Spread an even layer of sauce over the noodles, then spread half the sweet potatoes over the sauce. Top with another layer of 3 noodles, then sauce and the remaining sweet potatoes, then the remaining 3 noodles and sauce. Top with the cheddar cheese.
Cover the lasagna dish with aluminum foil and bake until the filling is bubbling, about 45 minutes. Uncover the dish and continue to bake until the cheese is golden in places, about 30 minutes more. Let the lasagna stand 10 minutes before serving.