Spread softened butter on one side of each bread slice. Flip the bread over and spread a generous layer of basil pesto on the unbuttered side of half the slices.
Layer mozzarella cheese, gouda cheese, and tomato slices over the pesto-covered bread. Sprinkle grated Parmesan cheese on top and season with salt and black pepper.
Place the remaining slices of bread on top, ensuring the buttered side faces outward.
Heat a skillet or griddle over medium heat. Place the sandwiches on the hot surface and cook for 3-4 minutes on each side until golden brown and crispy.
Remove from the heat and let the sandwiches rest for a minute before slicing. Serve immediately and enjoy.