Heat the butter over medium heat until melted. Add the onions, carrots, and garlic, and saute for 5 minutes until soft. Sprinkle brown sugar over the onions and caramelize on low for 10-12 minutes. Add the brandy and stir into the onion mixture. Simmer about 15 minutes until the brandy is almost absorbed into the onions. Add the beef stock, thyme, and bay leaf. Simmer for 30 minutes on medium.
While the soup is simmering, heat the oven to 350 degrees. Butter both sides of the French bread slices. Place on a baking sheet and toast in the oven for about five minutes. Remove from the oven and set aside. When the soup is finished, set four soup crocks on the baking sheet. Remove the bay leaf from the soup and ladle the soup in each crock, about 3/4 of the way full. Add a slice of buttered French bread to each crock, then sprinkle with a little grated Parmesan and Gruyere cheese. Place in the oven for 3-4 minutes, until the Gruyere melts, then serve immediately.