Heat the olive oil in a large skillet over high heat. Add garlic and cook briefly to release aroma. Add onions, season with salt and cook for about 5 minutes stirring often. Reduce heat to low and cook for about 15 minutes, stirring occasionally until the onions are golden brown.
Add the thyme, vinegar, and beer. Reduce beer by half and add the beef stock. Bring to a simmer and cook for 10 more minutes.
Preheat the broiler. Transfer soup to an ovenproof serving dish or individual ovenproof soup bowls. Top with toasted bread slices and sliced Cheddar. Broil until cheese melts and starts to brown slightly. Serve piping hot.