Start by preheating your oven to 375 degrees F. You will want it nice and warm, so the lasagna comes out beautifully bubbly and golden.
Boil some water with ½ Tbsp salt and toss in the lasagna noodles. Cook until they are tender but firm enough to hold their shape; be sure to keep them al dente to prevent a soggy lasagna.
In a mixing bowl, combine the ricotta, ½ cup shredded mozzarella, ¼ cup grated parmesan, and the egg. Mix gently until combined; be careful not to overmix to avoid a loose filling.
In a large skillet, melt 4 Tbsp butter over medium heat. Sauté the diced onion until golden and fragrant, then add the minced garlic, taking care not to let the garlic burn.
Sprinkle ¼ cup flour into the skillet with the sautéed vegetables, stirring until well combined. Gradually pour in 2 cups chicken broth and 1 cup heavy cream, mixing continuously until the sauce thickens to a velvety consistency.
Stir in 3 cups chopped spinach until it wilts down. This step will add freshness and elevate the flavors of the dish.
In the 9x13-inch casserole dish, begin layering: start with a bit of sauce at the bottom, then add a layer of noodles, followed by a layer of the ricotta mixture, and more sauce. Repeat this process, ensuring even layers to avoid uneven cooking.
Finish with the remaining sauce, and generously sprinkle the top with 1 ½ cups shredded mozzarella and ¼ cup grated parmesan.
Bake in the preheated oven for about 35 minutes or until bubbly and golden. Once done, let it rest for about 10 minutes before serving. This will help set everything and make slicing easier.