Boil lasagna noodles in salted water until al dente. Remove from water with tongs and lay each piece flat on a clean surface to cool.
For the marinara:
Brown the ground beef in a skillet and pour off the excess fat. Add the marinara sauce and simmer until heated through. Set aside.
For the pesto:
add all ingredients except oil and cheese to a food processor. Pulse until chopped. Slowly pour the olive oil into the mixture while pulsing. When the mixture is emulsified to your liking, add the cheese and pulse a couple more times. Taste. Add more olive oil as needed. Use a really high-quality olive for your pesto. It makes all the difference in the world. Also, taste the pine nuts before adding them because they can occasionally go rancid.
For the Béchamel sauce:
Heat the milk and half-n-half in a small saucepan over very low heat until bubbles barely form at the edges. Remove from heat. Melt the butter in a heavy-bottomed saucepan. Stir in the flour and cook, whisking constantly, about 2 minutes. Do not let the mixture brown! Add the hot milk mixture, whisking constantly as the sauce thickens. Bring it to a boil. Add salt, pepper, nutmeg, and red pepper flakes to taste, lower the heat, and cook, stirring for an additional 2 to 3 minutes. Remove from the heat. add the parmesan cheese and stir until melted. Set sauce aside.
Ladle half of the marinara sauce in the bottom of a 9x11 glass casserole dish. Lay to four lasagna noodles on top, followed by the second half of the marinara sauce. Place a few small spoonsful of ricotta cheese on top followed ⅓ of the parmesan and mozzarella. Add another layer of lasagna noodles on top. Ladle the Béchamel sauce over the pasta and repeat with the cheeses as on the first layer. Add the remaining lasagna noodles and spread the pesto over the top. Add the remaining cheeses.
Cover with foil and bake 30 minutes covered and an additional 15 to 20 minutes uncovered or until bubbly and heated through. Serve hot!