Ingredients
Equipment
Method
- Melt butter and olive oil in a large Dutch oven over medium heat. Add all sliced onions and fine salt. Toss to coat in the fat. Cover and cook 10 to 12 minutes until onions have wilted and released significant moisture, stirring every 3 to 4 minutes.
- Remove lid. Reduce heat to medium-low. Cook uncovered 35 to 45 minutes, stirring every 5 to 6 minutes and scraping the bottom to incorporate the forming fond. Cook until the onions are deeply amber-brown, concentrated, and smell intensely sweet. Add 2 to 3 tablespoons water if the onions stick before achieving deep color.
- Sprinkle flour evenly over the caramelized onions. Stir constantly for 2 minutes until the flour disappears into the fat. Add tomato paste and stir for 60 seconds until brick-red. Add apple cider vinegar and stir for 30 seconds, scraping the base.
- Pour in beef broth in a steady stream while stirring. Add thyme and bay leaves. Bring to a gentle boil, then reduce to medium-low. Simmer uncovered 18 to 20 minutes. Remove bay leaves. Season with salt and black pepper.
- Brush bread slices on both sides with olive oil or butter. Toast under the broiler 2 to 3 minutes per side until rigid and golden on both surfaces.
- Preheat broiler to high. Ladle hot soup into four oven-safe crocks, leaving 1.5cm below the rim. Place one or two toasted bread slices on each. Distribute grated Gruyère (about 60g per crock) generously across the bread and over the crock rims.
- Place crocks on a baking sheet. Broil on the upper rack 8 to 10cm from the element for 3 to 5 minutes until the cheese is bubbling, deeply golden-brown, and slightly charred at peaks. Watch from the 3-minute mark. Rest 5 minutes before serving.
Notes
The caramelization step genuinely requires 40 to 50 minutes; onions cooked for less time produce a noticeably less complex, less deep-flavored soup.
Always grate Gruyère from a block; pre-shredded cheese doesn’t melt or brown correctly.
The soup base (without bread and cheese) keeps refrigerated for 5 days or frozen for 3 months; always assemble and broil fresh.
Ensure the cheese extends to and slightly over the crock rim; this produces the characteristic bubbling, sealed crust.
