{
  "attribution": {
    "author": "Flavor Folio",
    "publisher": "Flavor Folio"
  },
  "canonicalURL": "https://flavorfolio.app/recipes/classic-french-onion-soup-gruyere-croutons",
  "format": "flavorfolio.recipe",
  "image": {
    "alt": "Homemade French onion soup in a crock topped with toasted baguette slices and melted, browned Gruyère, garnished with parsley",
    "credit": "Photo: jeffreyw, \"Mmm...onion soup\" via Wikimedia Commons, CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/)",
    "height": 850,
    "kind": "photograph",
    "smallWidth": 600,
    "url": "https://flavorfolio.app/media/4d1ba57c-db24-455f-85ec-b5087976b982/1536.jpg",
    "width": 1280
  },
  "publishedAt": "2026-11-04T00:00:00Z",
  "recipe": {
    "categories": [
      "Soups",
      "Dinner"
    ],
    "cookMinutes": 95,
    "cuisine": "French",
    "dietTags": [],
    "difficulty": "medium",
    "ingredients": [
      {
        "item": "unsalted butter",
        "quantity": "4",
        "unit": "tbsp"
      },
      {
        "item": "olive oil",
        "quantity": "1",
        "unit": "tbsp"
      },
      {
        "item": "yellow onions",
        "note": "about 5 large, halved and thinly sliced pole to pole",
        "quantity": "3",
        "unit": "lb"
      },
      {
        "item": "kosher salt",
        "note": "plus more to taste",
        "quantity": "1",
        "unit": "tsp"
      },
      {
        "item": "granulated sugar",
        "note": "optional, helps browning",
        "quantity": "1/2",
        "unit": "tsp"
      },
      {
        "item": "garlic",
        "note": "minced",
        "quantity": "3",
        "unit": "cloves"
      },
      {
        "item": "all-purpose flour",
        "quantity": "2",
        "unit": "tbsp"
      },
      {
        "item": "dry white wine",
        "note": "or dry sherry",
        "quantity": "3/4",
        "unit": "cup"
      },
      {
        "item": "low-sodium beef broth",
        "quantity": "6",
        "unit": "cups"
      },
      {
        "item": "fresh thyme",
        "note": "or 1 tsp dried thyme",
        "quantity": "4",
        "unit": "sprigs"
      },
      {
        "item": "bay leaf",
        "quantity": "1",
        "unit": ""
      },
      {
        "item": "Worcestershire sauce",
        "quantity": "1",
        "unit": "tsp"
      },
      {
        "item": "freshly ground black pepper",
        "quantity": "1/2",
        "unit": "tsp"
      },
      {
        "item": "baguette",
        "note": "cut 3/4 inch thick",
        "quantity": "12",
        "unit": "slices"
      },
      {
        "item": "Gruyère cheese",
        "note": "shredded, about 2 cups",
        "quantity": "8",
        "unit": "oz"
      },
      {
        "item": "Parmesan cheese",
        "note": "finely grated",
        "quantity": "1/4",
        "unit": "cup"
      }
    ],
    "keywords": [
      "french onion soup",
      "french onion soup recipe",
      "homemade french onion soup",
      "caramelized onions",
      "gruyere",
      "onion soup",
      "make ahead soup",
      "fall soup",
      "winter soup",
      "dutch oven soup",
      "comfort food",
      "cheesy soup"
    ],
    "prepMinutes": 15,
    "servings": 6,
    "steps": [
      {
        "estimatedMinutes": 10,
        "ingredientIndexes": [
          0,
          1,
          2,
          3,
          4
        ],
        "instruction": "Melt the butter with the olive oil in a large Dutch oven over medium heat. Add the sliced onions, salt and sugar (if using) and toss to coat. Cover and cook for 10 minutes, stirring once or twice, until the onions are soft and have released their liquid."
      },
      {
        "estimatedMinutes": 50,
        "instruction": "Uncover and reduce the heat to medium-low. Cook, stirring and scraping the bottom every 4 to 5 minutes, until the onions are deep golden brown, jammy and reduced to about 2 cups, 45 to 55 minutes. Whenever the browned layer on the bottom of the pot looks dark, add 2 tablespoons of water and scrape it up. Lower the heat if the onions start to scorch."
      },
      {
        "estimatedMinutes": 2,
        "ingredientIndexes": [
          5,
          6
        ],
        "instruction": "Stir in the garlic and cook for 1 minute until fragrant. Sprinkle in the flour and stir constantly for 1 minute to cook off the raw taste."
      },
      {
        "estimatedMinutes": 3,
        "ingredientIndexes": [
          7
        ],
        "instruction": "Pour in the wine and scrape the bottom of the pot clean. Simmer for about 3 minutes, until the wine is reduced by half."
      },
      {
        "estimatedMinutes": 25,
        "ingredientIndexes": [
          8,
          9,
          10,
          11,
          12
        ],
        "instruction": "Add the beef broth, thyme, bay leaf, Worcestershire sauce and pepper. Bring to a boil, then reduce the heat and simmer gently, uncovered, for 25 minutes. Discard the thyme stems and bay leaf, then taste and add salt as needed."
      },
      {
        "estimatedMinutes": 10,
        "ingredientIndexes": [
          13
        ],
        "instruction": "While the soup simmers, heat the oven to 400°F. Arrange the baguette slices on a baking sheet and toast for 8 to 10 minutes, flipping halfway, until dry and crisp all the way through."
      },
      {
        "estimatedMinutes": 4,
        "ingredientIndexes": [
          14,
          15
        ],
        "instruction": "Switch the oven to broil with a rack about 6 inches from the heat. Set 6 oven-safe soup crocks on a rimmed baking sheet and ladle in the hot soup. Float 2 toasts on each, then pile on the Gruyère and sprinkle with Parmesan, letting some cheese hang over the edges."
      },
      {
        "estimatedMinutes": 6,
        "instruction": "Broil for 3 to 5 minutes, watching closely, until the cheese is melted, bubbling and browned in spots. Let the crocks rest for 2 minutes before serving; they will be very hot."
      }
    ],
    "summary": "Deeply caramelized onions simmered with white wine, thyme and rich beef broth, then crowned with toasted baguette and bubbling broiled Gruyère. A step-by-step, no-shortcut-to-flavor French onion soup with tips for perfectly browned (never burnt) onions, a make-ahead plan, and a no-crock option.",
    "title": "Classic French Onion Soup with Gruyère Croutons (Make-Ahead Onions)",
    "totalMinutes": 110
  },
  "recipeID": "d6b3d6f1-5ad6-48f2-954d-00bf15d73e9b",
  "revision": 1,
  "schemaVersion": 1,
  "updatedAt": "2026-11-04T13:06:53.561535Z"
}
