Preheat the oven to 350°F (175°C) and prepare an 8×11-inch ovenproof casserole dish.
Prepare the lasagna noodles according to the package instructions if required; some gluten-free sheets are ready-to-use while others must be boiled.
Toast the walnuts in a small skillet over medium-low heat for 3–5 minutes until lightly browned and fragrant; set aside to cool slightly.
Make the spinach-basil pesto: in a food processor combine toasted walnuts, basil, spinach, olive oil, lemon zest and juice, salt, pepper, minced garlic, red pepper flakes, and water; puree until smooth, adding more water if needed to reach a spreadable consistency.
Spread 1/2 cup of the pesto evenly over the bottom of the prepared casserole dish.
Layer lasagna noodles over the pesto to form the first layer. Trim sheets as needed to fit a flat layer.
Top the noodles with half of the ricotta, then 1/4 cup pesto, and 1/4 cup shredded mozzarella, spreading evenly.
Add a second layer of lasagna noodles, then spread the remaining ricotta, half of the remaining pesto, and half of the remaining mozzarella.
Add the final layer of lasagna noodles, spread the remaining pesto over the top, and sprinkle with the remaining mozzarella. Arrange the halved cherry tomatoes cut-side down on top.
Cover the dish with foil and bake at 350°F for 30 minutes. Remove the foil and bake an additional 5 minutes until cheese is melted and edges are bubbly.
Let the lasagna rest for about 5 minutes, then run a spatula around the edges, slice, and serve.