Preheat the oven to 350°F (175°C) and prepare an 8×11-inch oven-safe casserole dish.
Prepare the lasagna noodles according to the package: some gluten-free or no-boil sheets can be used dry, while others must be boiled first.
Toast the walnuts in a small skillet over medium-low heat for 3–5 minutes until lightly browned and fragrant, then remove from heat and let cool slightly.
Make the spinach-basil pesto by combining toasted walnuts, basil, spinach, olive oil, lemon zest and juice, salt, pepper, minced garlic, red pepper flakes, and 1/4 cup water in a food processor; puree until smooth, adding more water if needed to reach a spreadable consistency.
Spread 1/2 cup of the pesto over the bottom of the prepared casserole dish to form the first layer.
Add the first layer of lasagna noodles, trimming sheets as needed to fit flatly in the dish.
Top the noodles with half of the ricotta, 1/4 cup pesto, and 1/4 cup shredded mozzarella, spreading evenly.
Add a second layer of noodles, then spread the remaining ricotta, half of the remaining pesto, and half of the remaining mozzarella over that layer.
Place the final layer of noodles on top, spread the remaining pesto and sprinkle with the remaining mozzarella, then arrange the halved cherry tomatoes cut-side down across the top.
Cover the dish with foil and bake at 350°F for 30 minutes, then remove the foil and bake an additional 5 minutes until cheese is melted and bubbly.
Let the lasagna rest for 5 minutes, run a spatula around the edges to loosen, then cut into portions and serve.