Chop the onion.
Preheat your oven to 350°F. Have an 8 x 10-inch baking dish handy.
In a blender or food processor, combine artichoke hearts, tofu, almonds, nutritional yeast, lemon juice, 2 whole cloves of garlic, and salt. Blend until smooth.
In a medium skillet, heat oil over medium heat. Add the onion and sauté until it starts to become translucent, about 3 minutes. Add spinach, minced garlic, lemon juice, and salt. Sauté until the spinach wilts, about 3 minutes. Turn off the heat.
In a large bowl, mix together the tofu-artichoke mixture, spinach-onion mixture, basil, and cooked pasta until well combined.
Cover the bottom of the baking dish with 1 cup of marinara. Pour the pasta mixture evenly into the dish, then pour the remaining marinara over the top and spread it around.
Make the topping: In a small bowl, mix bread crumbs, nutritional yeast, and garlic powder. In a small skillet, heat oil over medium heat. Add the bread crumb mixture and sauté until coated in oil and toasty, about 3 minutes.
Sprinkle the bread crumbs over the top of the pasta, cover it with foil, and bake in the oven for 25 minutes. After 25 minutes, remove the foil and bake uncovered for an additional 10 minutes. Let it cool for a couple of minutes before serving.