Heat a sauté pan with a tablespoon of olive oil over medium-high heat. Add the onion and salt and sauté until browned and tender, about 10 minutes. Deglaze the pan with the apple cider vinegar and using a wooden spoon or spatula, stir up the browned bits on the bottom of the pan. Let the vinegar cook off, about 2 minutes, reduce heat to low, cover, and sweat, about 10 minutes.
Meanwhile, drizzle each slice of bread with a tablespoon of olive oil, half on each side. Spread half of the goat cheese on one slice of bread. Repeat on another. Pile half of the Gruyere atop each slice.
Remove lid from onions and stir to distribute juices. Place half of the onions atop each pile of Gruyere. Top with the remaining slices of bread.
Increase stove top heat to medium-high and place sandwiches in pan. Let cook until browned, about 3 minutes. Flip, being careful not to spill the cheese, and cook another 3 minutes until lightly browned. Reduce heat and cover to melt cheese further, about 1-2 minutes. Slice sandwiches in half and serve immediately.