Melt butter in a large saucepan over low heat. Add onions; cook, stirring constantly, until golden, 15 to 30 minutes. Add water; cover and cook until onions are very tender, about 15 minutes.
Sprinkle flour into the saucepan; cook, stirring constantly, until onions are coated, about 5 minutes. Pour in chicken stock and 1/3 cup plus 1 tablespoon white wine; season with salt and pepper. Bring to a boil; reduce heat and simmer gently until flavors combine, about 20 minutes.
Set oven rack about 6 inches from the heat source and preheat the oven's broiler.
Toast baguette slices until very crisp, 3 to 5 minutes. Divide slices among 6 oven-safe soup bowls. Ladle soup on top. Sprinkle Gruyère cheese over each bowl.
Transfer bowls to the preheated oven; broil until cheese is melted and bubbly, 3 to 5 minutes.