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