Cook bacon in a large skillet over medium heat until crispy, about 6-8 minutes. Remove to a paper towel-lined plate.
Butter one side of each bread slice. Place 4 slices butter-side down on a clean work surface.
Layer each slice with 1 piece of cheese, 3 slices of bacon, 2-3 tomato slices, another slice of cheese, and top with remaining bread slices (butter-side up).
Season tomatoes with a pinch of salt and pepper before adding the top cheese layer.
Heat a large skillet or griddle over medium heat. Cook sandwiches for 3-4 minutes per side until golden brown and cheese is melted.
Slice in half and serve immediately while hot and crispy!