In a large pot, melt butter over medium-high heat. Add onion and reduce heat to low. Cover and cook for 15 minutes on low.
Season onions with salt, pepper, sugar, and garlic powder. Cook down, uncovered, stirring occasionally, over medium heat for 40 minutes to one hour.
In a medium saucepan, heat broth with beer over low heat.
Once the onions are caramelized, add flour and stir. Cook for one minute. Add broth, beer, whiskey, and brandy, and bring to a simmer. Simmer uncovered for one hour. Season with additional salt and pepper to taste.
Preheat oven to 350 degrees.
Divide the soup into serving bowls that are oven-safe. Top with toast and a heaping portion of cheddar and swiss cheeses.
Bake for 20 to 30 minutes until the cheese is melted. Turn oven to broil and broil until the cheese is bubbling and brown. Serve.