In large stockpot over medium heat, melt butter and add onions and shallots. Stir often for 40-60 minutes, until onions are caramelized to a golden brown, but not burnt. This is the key to a really good French Onion Soup. It is worth taking your time!
Sprinkle flour onto the onions and add garlic, stirring constantly for 3 minutes.
Slowly add red wine, white wine, sherry, and sugar while stirring onion mixture constantly to prevent lumps, Simmer and stir often for 15 minutes to reduce.
Add chicken broth, beef broth, water, and Dijon mustard. Stir well.
Bring soup to a boil over medium heat, stirring often. Then reduce to simmer uncovered for 20-30 minutes. Taste and season with salt and pepper.
To serve soup, place a handful of croutons in each bowl. Top croutons with 2 Tablespoons cheese. Ladle soup over croutons and cheese. Garnish with fresh chives. Bon Appetit!