In a large pan, melt 1 tbsp butter and olive oil over medium-low heat. Add thinly sliced onions, a pinch of salt, and a pinch of sugar. Cook, stirring occasionally, for 45-75 minutes until onions are deeply browned and jammy. Set aside.
Place 8 slices beef bacon in a cold skillet. Cook over medium-low heat for 10-15 minutes, flipping, until crispy. Drain on paper towels and crumble or chop. Reserve 1 tbsp bacon fat if desired for grilling sandwiches.
Lightly butter one side of each bread slice (this will be the outside). On the unbuttered side of four bread slices, layer 2 slices of cheese, a generous spoonful of caramelized onions, crumbled beef bacon, and then 2 more slices of cheese. Top with the remaining four bread slices, buttered-side out. Gently press.
Preheat a skillet or griddle over medium-low heat. Add 1 tbsp softened butter (or reserved bacon fat) to the pan. Place 2 sandwiches in the pan. Grill for 4-7 minutes per side until golden brown and crispy, and cheese is fully melted and gooey. Repeat for remaining sandwiches.
Remove sandwiches from pan, let rest 1-2 minutes on a cutting board. Slice diagonally and serve immediately. Pairs wonderfully with tomato soup or a light salad.
Notes
Use high-quality bread for the best results.
Adjust the amount of cheese according to your preference.
Feel free to add other toppings like pickles or herbs.