Preheat the oven to 425°F (220°C). Lightly brush the zucchini slices with 1 tablespoon olive oil and arrange them on a lightly greased baking sheet or use a grill pan; roast or grill until tender and slightly browned, about 12–14 minutes.
Transfer cooked zucchini to paper towels and pat to remove excess moisture; set aside.
Heat the remaining 1 tablespoon olive oil in a large skillet over medium-high heat. Add the diced onion and minced garlic and cook 1 minute, stirring.
Add the ground beef, break it up with a wooden spoon, and cook until no longer pink. Drain any excess grease.
Stir in the tomato paste, crushed tomatoes, 1/2 teaspoon salt, 1/4 teaspoon black pepper, and 1/4 teaspoon red pepper flakes; reduce heat and simmer gently for about 30 minutes.
Add the fresh spinach to the sauce, stir until wilted, then remove the sauce from the heat and set aside.
In a large bowl, mix the ricotta, grated Parmesan, 8 oz shredded mozzarella, 8 oz shredded Pepper Jack, egg, dried basil, and Italian seasoning until thoroughly combined; season with salt and pepper to taste.
Lightly grease a 9×13-inch baking dish with olive oil. Spread about 1/2 cup of the cheese mixture over the bottom of the dish, then lay a single layer of zucchini to cover the bottom.
Spread half of the remaining cheese mixture over the zucchini, then spoon half of the meat sauce on top. Add another zucchini layer, then the remaining cheese mixture and the remaining meat sauce.
Add a final layer of zucchini, spread 1 cup marinara sauce over the top, and sprinkle with 1 cup shredded mozzarella.
Preheat the oven to 375°F (190°C). Cover the dish with foil (avoid touching the cheese) and bake for 30 minutes.
Remove the foil and bake an additional 20–30 minutes until bubbling and the top is golden; broil briefly if needed to brown the cheese.
Let the lasagna rest 10–15 minutes before slicing, then garnish with parsley if desired and serve.