Preheat the oven to 375 degrees F. Spray three baking sheets with cooking spray.
Arrange the eggplant in a single layer on the prepared sheet trays. Brush the eggplant on both sides with 2 tablespoons of the oil and sprinkle lightly with salt and pepper. Bake until soft, about 25 minutes.
Heat the remaining tablespoon of oil in a large high-sided skillet over medium-high heat. Add the onion, carrot and celery and cook, stirring, until soft, about 6 minutes. Sprinkle with salt and pepper. Add the garlic and red pepper flakes and stir until fragrant, about 1 minute. Add the turkey and cook, stirring and breaking up the meat with the back of a wooden spoon, until browned, about 6 minutes. Add 1 teaspoon salt. Stir in the tomatoes, bring to a simmer, lower the heat to medium-low and cook until thickened, about 30 minutes. Turn off the heat and stir in the basil.
Combine the ricotta, tofu, egg and 1/4 cup Parmesan in a medium bowl and smash with a fork until combined. Place the spinach in a clean kitchen towel and squeeze out all the liquid you can. Add to the bowl and mix until incorporated.
Ladle one-quarter of the sauce into the bottom of a 9-x-13-inch baking dish.
Place 6 pieces of eggplant on top of the sauce. It's okay if they overlap. Spread half of the tofu-cheese mixture over the eggplant and top with another one-quarter of the sauce. Sprinkle with one-third of the mozzarella. Repeat the layers. Add a final layer of sauce and sprinkle with the remaining mozzarella cheese and Parmesan. Bake until bubbling and golden on top, about 35 minutes. Let rest 10 minutes before serving.