Heat butter and oil in a Dutch oven or soup pot over medium-high heat. Stir in onions. Cover; cook until softened, 10-15 minutes. Stir in brown sugar, salt and pepper. Stir; reduce heat to medium-low. Continue to cook, uncovered, until onions reach a deep golden-brown color, 45-50 minutes.
Add garlic, tomato paste and flour; stir to evenly distribute. Cook 2-3 minutes; add red wine, scraping the bottom of the pot to release any bits. Add beef stock and Worcestershire sauce; bring to a boil.
Meanwhile, bundle the parsley, thyme and bay leaf together in cheesecloth or tie together with cooking twine. Add the bundle to the soup; reduce to a simmer. Cook 45 minutes; turn off the heat. Stir in gnocchi and discard herb bundle.
Preheat the oven to a broil. Place six oven-safe soup crocks or ramekins onto a sheet pan. Ladle the soup into soup crocks, filling about 3/4 of the way full. Top each soup crock with shredded Swiss or Gruyere and Parmesan.
Place under the broiler until the cheese is melted and has started to brown, 3-4 minutes. Remove promptly; garnish with parsley to serve.