Soak cashews for 1 hour in very hot water (uncovered) or in cool water overnight. Then drain and set aside.
In the meantime, heat a large oven-safe metal or cast-iron skillet over medium heat. Once hot, add oil, garlic, and shallot. Sauté for 1-2 minutes. Then lower heat to medium/low and sauté for 2-3 minutes more or until just golden brown and slightly caramelized. Set off the heat to cool.
Once cashews are soaked and drained, preheat oven to 375 degrees F (190 C). To a blender, add soaked and drained cashews, half of the sautéed garlic and shallot, almond milk, nutritional yeast, sea salt, and pepper and blend into a creamy purée, scraping down sides as needed.
Taste and adjust seasonings as needed. Dip should be cheesy in flavor and well salted, so consider adding more nutritional yeast for cheesiness or another pinch sea salt for saltiness. Set aside.
Heat the skillet with the remaining shallot and garlic over medium-high heat and add spinach and chopped artichokes. Season with a pinch each salt and pepper and sauté for 4-5 minutes, stirring frequently, to wilt and soften spinach.
Turn heat off and add all of the sauce. Stir to combine. Sprinkle the top with vegan parmesan cheese, bread crumbs (optional), and red pepper flake (optional).
Bake for about 5-8 minutes or until the dip is hot enough to serve. Be careful not to over-bake or the cheese sauce can begin to dry out and lose its creamy texture. Serve hot with assorted vegetables, tortilla chips, crackers, or toasted baguette - tortilla chips being our favorite.
Store leftover dip covered in the refrigerator up to 4-5 days. Reheat in an oven-safe dish at 350 degrees F (176 C) until warmed through (or in the microwave), adding more almond milk as needed if dip has dried out.
*As written, the recipe makes a total of approximately 4 1/4-cups artichoke dip. *Nutrition information is a rough estimate calculated without optional or serving ingredients.