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 Gruyère toast. Sprinkle with pepper. Serve hot.