Preheat the oven to 375°F (190°C).
Heat the cast-iron skillet over medium heat, then add 2 tablespoons olive oil.
Add the diced onion and cook, stirring frequently, until it begins to soften, about 3–4 minutes.
Add the diced garlic and sauté for about 1 minute until fragrant.
Add the diced zucchini and sliced mushrooms and sauté for 3–4 minutes, until the zucchini is tender and mushrooms soften.
Pour in 3 cups of Italian tomato sauce and stir to combine; cook over medium heat until warmed through.
Stir in the baby spinach and cook for about 1 minute until wilted, then season with salt and pepper to taste.
Remove the skillet from the heat and scoop out all but 1 cup of the sauce into a bowl or container; spread the remaining sauce evenly in the bottom of the skillet.
Cover the sauce with a single layer of broken lasagna noodle pieces, overlapping as needed to mostly cover the sauce.
Dollop about one-third of the ricotta in 5–6 mounds over the noodles, then spread 1/3 of the reserved sauce over the ricotta and sprinkle with 1/3 of the mozzarella.
Add another layer of noodles, then repeat with another third of the ricotta, another third of the sauce, and another third of the mozzarella.
Top with a final layer of noodles, spoon the remaining sauce over them, dot with the remaining ricotta, sprinkle the remaining mozzarella, and finish with 1/4 cup shredded Parmesan.
Bake the skillet in the preheated oven for about 30 minutes, until the cheese is bubbly and the pasta is cooked through.
Remove from the oven and let rest for about 5 minutes before serving.