Heat olive oil in a big pan over medium-low heat. Caramelize the sliced onions by cooking them for 20-25 minutes until they are very brown. Add salt and pepper to taste.
Heat a cast-iron skillet over medium-high heat and melt 2 tablespoons of butter.
In a big basin, carefully blend the ground beef, ketchup, Worcestershire sauce, ½ teaspoon of onion powder, 1 teaspoon of salt, and a pinch of pepper. Shape the mixture into four equal patties, slightly wider than the bread slices.
Cook the patties in the heated skillet for 4-5 minutes on each side until well browned. Remove from the skillet and set aside.
Remove any excess grease from the pan and melt 2 tablespoons of the remaining butter in a medium saucepan. Place four pieces of rye bread in the pan, butter sides down. Top each bread with a cooked patty, Swiss cheese, half of the caramelized onions, and another piece of cheese. Cover with the remaining four pieces of bread, butter sides up.
Cook the patty melts for 2-4 minutes on each side, gently pressing down the cheese occasionally, until golden brown and melted.
Remove the patty melts from the pan and cut them diagonally. Serve and enjoy!
