In a large skillet over medium low heat, melt 2 TBSP butter. Add the onions and a sprinkle of salt.
Cook, stirring occasionally until caramelized, about 20 minutes. Set aside.
Shape the ground beef into 2 large oval patties (slightly larger than your bread slices). Season both sides with salt and pepper.
In the same skillet, add a tiny drizzle of oil, and cook the beef patties for about 3-4 minutes per side depending on thickness and desired doneness.
In a bowl, combine the mayo, ketchup, Worcestershire, garlic powder, and some salt and pepper.
Spread the sauce on all 4 slices of bread. Place swiss cheese on the bottoms followed by the beef patties, onions, and finally cheddar. Sandwich together.
Butter both sides and grill until golden and melty, about 3 minutes per side.