Cook bacon over medium heat until done, but not overly crisp. Remove from pan and drain on paper towels. After it has cooled, tear/cut into small pieces (1/4" or so).
Remove all but 2T bacon grease from the pan. Return the pan to medium heat and add the onion, salt and pepper. Cover and cook about 5 minutes, stirring half way through.
Remove cover on the onions and reduce heat to low. Add back the bacon. Add worchestershire, beef broth, balsamic vinegar and brown sugar. Continue to simmer over low heat, stirring occasionally, until the liquid in the pan is reduced and syrupy, approximately 8 minutes. Don’t cook until the pan is dry. Remove from heat and set aside.
Lightly butter one side of each slice of bread and place butter-side down.
Use 1 oz of the grated gruyere per slice of bread, and arrange on each slice. Smoosh down slightly. This helps to keep the cheese in place when you cover the other side.
Spoon 3 T of bacon jam on one of the slices of bread and cheese. Cover with the other slice of bread and cheese.
Heat a saute pan over medium-low heat.
Place the sandwich in the heated pan and cover. At about 2-3 minutes, check the color on the bottom piece of bread - it should be toasty and browned.
Flip the sandwich to toast the other side. Cover. After about 2 minutes or so, check the color.
When desired toastiness and cheese is melty, remove from pan and plate. Scarf down eagerly, marveling at the bacony, oniony, cheesy goodness.