Heat a nonstick skillet over medium heat and sauté the chopped spinach for 1–2 minutes until wilted. Set aside once done.
In a medium bowl, combine the sautéed spinach with chopped artichoke hearts, softened cream cheese, mayonnaise, Parmesan cheese, mozzarella cheese, garlic powder, salt, and pepper. Mix until creamy and well combined.
Spread a thin layer of butter on one side of each slice of bread. Lay two slices butter side down on a clean surface. Spread a generous amount of the spinach artichoke mixture evenly on each slice. Top with the remaining bread slices butter side up to form sandwiches.
Heat a skillet or griddle over medium heat. Place the assembled sandwiches in the skillet and cook for 3–4 minutes on each side, pressing gently with a spatula until the bread is golden brown and crispy.
Remove the sandwiches from the skillet and let them cool for a minute before slicing them in half. Serve warm alongside your favorite soup or fresh salad.