In a skillet, heat the olive oil over medium heat. Add the sliced onions, season with salt and pepper, and cook slowly, stirring occasionally, until the onions are golden brown and caramelized, about 15 minutes. Remove from heat and set aside.
In the same skillet, cook the bacon until crispy and golden brown, about 5-7 minutes. Remove the bacon from the skillet and drain on paper towels.
Assemble the sandwiches: On one slice of bread, place a slice of cheese, followed by a few pieces of bacon, a generous amount of caramelized onions, and another slice of cheese. Top with a second slice of bread.
Spread about 1 tablespoon of butter on the outside of each sandwich.
Preheat the skillet over medium heat. Place the assembled sandwich into the skillet and cook until the bread is golden brown and the cheese has melted, about 4-5 minutes per side. Repeat with remaining sandwiches.
Once cooked, remove the sandwiches from the skillet and let them cool for a minute before slicing them in half.
Serve warm and enjoy your delicious Bacon and Caramelized Onion Grilled Cheese Sandwiches!