Preheat oven to 400 degrees F and preheat broiler.
Melt butter and oil together in a large stock pot or Dutch oven over medium-high heat. Add onions and sugar and cook 10 minutes, until onions are tender and golden brown. Add thyme, bay leaves, salt, and black pepper and stir to coat. Cook 1 minute, until fragrant. Add port and simmer until liquid is absorbed. Add broth and Parmesan rind and bring mixture to a boil. Reduce heat to low, partially cover and simmer 20 minutes.
Remove bay leaves and Parmesan rind and ladle soup into oven-proof bowls. Place bowls on a baking sheet. Place reserved bread rounds or a sourdough round into each bowl and top bread with Gruyere cheese. Broil 2 to 3 minutes, until cheese is golden and bubbly.
Recipe courtesy of Robin Miller, 2007