Preheat the oven to 350°F (180°C). Lightly grease a 9 x 13-inch (23 x 33 cm) baking dish.
Bring a large pot of water to a boil. Cook the pasta until al dente according to the package directions. Drain and set aside. Reserve ½ cup of pasta water in case you need it later.
If you have a high-powered blender, you can skip this step. Otherwise, add the cashews to a small pot, cover with water, and bring to a boil. Boil for 10 minutes until very tender. Drain and rinse well before using in the sauce.
Add the cashews, plant-based milk, nutritional yeast, lemon juice, Dijon mustard, salt, and pepper to a blender. Blend until completely smooth and creamy.
In a large skillet or pot, heat the olive oil over medium heat. Add the onion and garlic and sauté for 4 to 5 minutes, until softened. Reduce heat to low, add the spinach, cover, and cook until wilted (about 2 to 3 minutes), stirring as needed.
Remove from heat. Add the artichokes, cooked pasta, and all of the cashew sauce. Stir until everything is evenly coated. If it looks too thick, stir in a splash of reserved pasta water or a bit more plant milk until it’s nice and saucy.
Pour the mixture into the prepared baking dish and spread evenly.
Choose a topping: For cheesy topping, sprinkle with vegan mozzarella, cover with foil and bake for 15 minutes, then uncover and bake for 5 to 10 minutes, until melty and lightly golden. For breadcrumb topping, toss breadcrumbs with melted vegan butter, sprinkle over top, and bake uncovered for 20 to 25 minutes, until bubbly and golden.
