4 strips bacon, chopped
4 tablespoons unsalted butter,
plus 4 tablespoons (1/2 stick), at room temperature
1 cup chopped onion
1 tablespoon minced garlic
3/4 teaspoon salt
1/2 teaspoon freshly ground black pepper
1/4 teaspoon crushed red pepper
18 ounces canned marinated artichoke hearts, drained and chopped
2 cups spinach, blanched until wilted
8 ounces mozzarella cheese, cut into 1/4-inch cubes
4 ounces cheddar cheese, grated
1/4 cup parmesan cheese, grated
16 slices white sandwich bread
Cook the bacon until crisp. Set it aside on a paper towel to drain.
Use 1 tablespoon of the bacon fat remaining in the skillet. Add the 4 tablespoons butter until melted. Add onions, garlic, salt, black pepper, and crushed red pepper.
Stir until the onion is very soft, about 10 minutes. Add the artichokes and cook for 2 minutes. Add 2 cups of spinach and cook until the spinach is tender and the flavors have blended. Remove from the heat.
Set a strainer over a bowl, and place the spinach-artichoke mixture to it. Allow the excess liquid to drain. In a medium mixing bowl, combine the three cheeses. Then add the warm spinach mixture and stir until nicely combined and the cheese has begun to melt. Stir in the bacon.
To assemble: Spread evenly packed 1/2 cup of filling between 2 slices of bread. Butter each side of the sandwich with about 1 teaspoon of the softened butter. Repeat with the remaining ingredients. Heat a grill pan over medium heat. Cook the sandwiches in batches, until they are browned on each side and the filling is warmed through, about 6 minutes. Cut the sandwiches in half, and serve immediately.