01 - Lay out the bread slices on a work surface. Spread about 1/2 tablespoon of softened butter on one side of each slice.
02 - On the unbuttered side of two slices, spread 1 1/2 tablespoons of basil pesto evenly.
03 - Layer mozzarella (and provolone, if using) over the pesto, then add tomato slices and a sprinkle of Parmesan, if desired. Season with black pepper.
04 - Top with the remaining bread slices, buttered side facing out.
05 - Heat a large nonstick skillet or griddle over medium-low heat.
06 - Place the sandwiches in the skillet. Cook for 3–4 minutes per side, pressing gently, until the bread is golden brown and the cheese is fully melted.
07 - Remove from the skillet, let rest for 1–2 minutes, then slice and serve warm.