Heat 2 tablespoons oil in a large skillet over medium-high heat until hot.
Add 2 sliced onions and mushrooms; cook 5 minutes, stirring often. Reduce heat to medium; cook 15 minutes or until onion is browned.
Add wine, and simmer 2 minutes.
Add broth and next 4 ingredients. Bring to a boil; reduce heat, and simmer, partially covered, 30 minutes. Strain broth, discarding solids. Set broth aside.
Heat a large saucepan over medium heat until hot; add remaining 1 tablespoon oil.
Add remaining 3 sliced onions, and saut 10 minutes or until tender.
Add reserved broth; cover, reduce heat, and simmer 25 minutes.
Toast baguette slices. Butter each slice and top with cheese; place on a baking sheet. Broil 3" from heat just until cheese melts.
Ladle soup into 6 serving bowls, and top with Gruyre toast.