Spread one tablespoon of butter on one side of each slice of bread. In the same pan you used to cook the onions, lay two slices of bread, butter side down, into the pan.
Top each slice immediately with two ounces of havarti, two tablespoons of caramelized onion, and then two ounces of mozzarella, to evenly divide the cheese and onions between the two sandwiches.
Top each cheese and onion pile with the remaining slices of bread, butter side up. Cover the pan with a lid, and allow to cook for 2-3 minutes, or until the bottom slice of bread is browned in the pan. Carefully flip the sandwiches over, careful to not spill any cheese out of the sides.
Cook the top slice of bread, now butter side down in the pan, for 3-4 minutes. Cheese should be melted and gooey, and bread should be dark brown.
Remove the sandwiches from the pan, and transfer to a cutting board to rest for about one minute. Once cool enough to touch, slice each in half and serve immediately. Tomato soup works wonders with this sandwich. :)