Heat the olive oil in a large pot, add the onions and salt, and cook over medium-low heat for 35 to 40 minutes.
Stir regularly until the onions become deeply golden, adding a splash of broth if they begin to stick.
Add the garlic and thyme, then cook for another minute.
Pour in the broth and balsamic vinegar, add the bay leaf and black pepper, and bring to a gentle simmer.
Cook uncovered for 12 to 15 minutes, then remove the bay leaf and adjust the seasoning.
Toast the baguette slices, divide the cheese over them, and broil briefly until melted.
Ladle the soup into bowls and place one small cheese toast on each serving.