This herb stuffing is a cozy, dependable holiday side with buttery toasted bread, tender onion and celery, fresh garlic, and plenty of sage, rosemary, and parsley. It bakes up moist in the center with a crisp, golden top and takes about 1 hour 30 minutes from start to finish.

If you want a traditional stuffing that feels familiar without tasting flat or overly soft, this version is a great one to keep in your holiday rotation. The combination of toasted bread and slowly cooked aromatics gives every bite plenty of savory flavor.
The method also makes it easier to control the texture. Drying the bread first helps it absorb the buttery broth mixture without immediately turning mushy, while the eggs provide enough structure for clean, satisfying portions.
It is especially useful for Thanksgiving, Christmas, or any dinner where you need a hearty side that can sit comfortably alongside roasted meats, gravy, potatoes, and vegetables. A final scattering of fresh herbs makes the finished dish look as inviting as it tastes.
Ingredients
You only need familiar stuffing staples for this dish, but each one has an important job in building flavor and texture.
- Bread cubes: About 18–24 ounces of sturdy bread forms the base. Stale or lightly toasted bread absorbs the flavorful liquid more evenly than very fresh bread.
- Unsalted butter: A generous amount coats the bread and carries the flavors of the vegetables and herbs throughout the stuffing.
- Sweet onion: Chopped onion softens in the butter and contributes a mild sweetness that balances the savory broth and herbs.
- Celery: Diced celery gives the stuffing its classic aromatic flavor along with a little texture.
- Fresh garlic: Minced garlic adds another savory layer without overwhelming the traditional herb profile.
- Sage: One of the defining flavors in classic stuffing. Fresh sage gives the dish an especially fragrant finish, although dried sage also works.
- Rosemary: Adds a woodsy herbal note that pairs particularly well with roasted poultry and holiday dishes.
- Fresh parsley: Brightens the richer butter and broth flavors and adds freshness throughout the bread mixture.
- Chicken or vegetable broth: Provides the moisture the dried bread needs. Low-sodium broth is useful because it lets you control the final seasoning.
- Eggs: Whisked eggs help bind the bread cubes together so the stuffing stays moist but can still be portioned neatly.
- Kosher salt and black pepper: Season the vegetables and bring out the flavors of the herbs.
- Fresh herbs for serving: A final sprinkle of parsley, sage, rosemary, or a combination gives the baked stuffing fresh color and aroma.

Step-by-Step Herb Stuffing
STEP 1: Prepare the bread by cutting it into roughly 1/2-inch cubes. If it is already stale and dry, place it directly in a large mixing bowl. If the bread is fresh, spread it across a baking sheet and toast at 350°F for about 15 minutes, stirring halfway through. Let the cubes cool slightly before transferring them to the bowl.
STEP 2: Melt the butter in a large skillet over medium heat. Add the chopped onion, celery, and a light seasoning of kosher salt. Cook for roughly 8–10 minutes, stirring occasionally, until the vegetables are tender and the onion is translucent with a little light browning around the edges.
STEP 3: Stir the minced garlic into the vegetables and cook for about 1 minute. Add the sage, rosemary, and parsley and continue stirring briefly so the herbs become fragrant. Season with black pepper, then add about 1 cup of broth. Scrape any browned bits from the skillet into the liquid and let everything simmer for another minute.
STEP 4: Pour the warm buttery vegetable mixture over the dried bread cubes. Toss gently rather than stirring aggressively so the bread remains in distinct pieces. Continue until the onion, celery, herbs, and cooking liquid are distributed throughout the bowl.
STEP 5: In a separate bowl, whisk the eggs with the remaining broth until evenly blended. Slowly pour this mixture over the seasoned bread, folding gently as you go. The bread should become moist throughout, but you do not want to mash it into a paste.
STEP 6: Transfer the stuffing to a buttered baking dish and spread it into an even layer. Bake at 350°F for 45–50 minutes. For a softer top, cover the dish during the first part of baking. For a crisp golden surface, uncover it for the final 15–20 minutes.
STEP 7: Check that the center is fully set, then remove the baking dish from the oven. Let the stuffing rest for about 10 minutes before serving. Finish with chopped fresh sage, parsley, rosemary, or a mixture of your favorite herbs.
Serving Ideas for Herb Stuffing
This stuffing works especially well with roast turkey or chicken, where the herbs naturally complement poultry and pan gravy. Spoon a little gravy over the stuffing just before serving if you prefer a softer, richer bite.
For a classic holiday plate, pair it with mashed potatoes and roasted vegetables. Creamy potatoes balance the crisp top of the stuffing, while carrots, green beans, Brussels sprouts, or roasted squash add color and contrast.
It also works alongside roasted pork. Sage, rosemary, garlic, and onion are all natural partners for pork, so you do not have to save this dish exclusively for Thanksgiving.
Why does stuffing need stale or toasted bread?
Dry bread can absorb the seasoned broth and melted butter while still maintaining some structure. Very soft fresh bread absorbs liquid quickly and may collapse, leaving the stuffing heavier or mushier. Toasting fresh cubes for a few minutes gives you more control over the finished texture.
Can I prepare this stuffing ahead of time?
Yes. You can dry the bread and cook the onion, celery, garlic, and herbs ahead of time. Refrigerate the cooked vegetable mixture separately, then combine everything with the broth and eggs before baking. This keeps the bread from sitting in liquid for too long.

How do I keep stuffing from becoming soggy?
Start with properly dried bread and add the liquid evenly instead of pouring everything into one spot. Fold the mixture gently so every cube receives some moisture. The bread should feel well moistened before baking, but there should not be a large pool of broth at the bottom of the bowl.
Can I use vegetable broth instead of chicken broth?
Absolutely. Vegetable broth makes an excellent substitute and keeps the stuffing suitable for meals where you are avoiding chicken broth. Choose a flavorful but not overly salty broth so the sage, rosemary, garlic, onion, and celery remain the dominant flavors.
How do I get a crisp top on stuffing?
Bake the stuffing uncovered during the final portion of cooking. If you cover it initially to preserve moisture, remove the foil for approximately the last 15–20 minutes. A relatively even layer also exposes more bread to the oven’s heat, helping the surface turn golden and lightly crisp.
Keeping Leftovers Fresh
Allow leftover stuffing to cool, then transfer it to a covered container and refrigerate it within about two hours of serving. Properly stored cooked stuffing is generally best eaten within 3–4 days.
For longer storage, place cooled portions in freezer-safe containers and freeze them for about 1–3 months. Smaller portions are particularly convenient because you can thaw only what you need.
To reheat refrigerated stuffing, place it in a baking dish, add a small splash of broth if it seems dry, and cover loosely with foil. Warm it in a 325–350°F oven until hot throughout, removing the foil near the end if you want to restore some crispness to the top. Leftovers should reach 165°F in the center before serving.
You can also reheat individual servings in the microwave. Cover the portion to hold in moisture and heat it in short intervals, stirring or rotating as needed so it warms evenly.
Helpful Tips
- Dry the bread thoroughly. Properly toasted or stale cubes are the key to stuffing that absorbs plenty of flavor without becoming overly soft.
- Season in stages. Add some salt while cooking the vegetables, then taste the mixture before adding more. Broth can vary considerably in saltiness.
- Do not compress the baking dish. Spread the stuffing evenly but keep it relatively loose. Packing it down firmly can reduce the contrast between the moist center and crisp golden surface.

Herb Stuffing
Ingredients
For the bread mixture:
- 2 large eggs brought to room temperature
- 2 cups celery cut into approximately 1/2-inch dice
- 3 tablespoons finely chopped fresh parsley
- 1 cup unsalted butter
- 6 fresh garlic cloves finely minced
- 18 –24 ounces bread cut into 1/2-inch cubes, about 12–14 cups, toasted or allowed to become stale
- 3 tablespoons chopped fresh rosemary or 1 tablespoon dried rosemary
- 2 1/2 cups low-sodium chicken broth or vegetable broth
- Kosher salt as needed
- 3 cups sweet onion chopped into roughly 1/2-inch pieces, about 2 large onions
- Freshly ground black pepper to taste
- 3 tablespoons chopped fresh sage or 1 tablespoon dried sage
For the topping:
- Fresh sage parsley, or rosemary, for sprinkling
Instructions
- Cut the bread into approximately 1/2-inch cubes and arrange them across a baking sheet. If the bread is already stale and dry, no additional drying is necessary.
- For fresh bread, bake the cubes at 350°F for about 15 minutes, stirring them halfway through, until dry and lightly golden. Properly dried bread absorbs the broth more evenly without becoming overly soft or mushy.
- Allow the toasted bread to cool slightly, then place it in a large mixing bowl.
- Melt the unsalted butter in a large skillet set over medium heat. Once the butter has melted and begins to foam, add the chopped sweet onion, diced celery, and a small amount of kosher salt.
- Cook for 8–10 minutes, stirring from time to time, until the vegetables are tender and translucent and the onion develops a slight caramelized color.
- Stir in the freshly minced garlic and continue cooking for approximately 1 minute, just until the garlic becomes fragrant.
- Add the sage, parsley, and rosemary to the skillet. If using dried sage or rosemary instead of fresh, use the specified dried quantities. Cook the herbs with the vegetables for 1 minute while stirring continuously to release their aromatic oils.
- Season with freshly ground black pepper, then pour in 1 cup of the chicken or vegetable broth. Scrape the bottom of the skillet to loosen any browned, flavorful pieces and allow the mixture to simmer for another minute.
- Pour the hot vegetable, herb, broth, and butter mixture over the prepared bread cubes in the large bowl.
- Gently toss until the bread is evenly coated and the vegetables and herbs are distributed throughout. The warmth and moisture of the mixture should begin softening the bread without completely saturating it.
- In a separate bowl, whisk the remaining 1 1/2 cups of chicken or vegetable broth together with the 2 room-temperature eggs until completely blended.
- The egg-and-broth mixture provides the moisture and structure needed to produce stuffing that remains cohesive rather than dry and crumbly.
- Transfer the stuffing to a buttered baking dish and spread it into an even layer.
- Bake at 350°F for 45–50 minutes, or until the surface is golden brown and a knife inserted into the center comes out clean.
- If the surface begins browning too rapidly, cover the dish with foil for approximately the first 30 minutes of baking. Remove the foil for the final 15–20 minutes so the top can develop a crisp, golden finish.
- Remove the herb stuffing from the oven and allow it to rest for 10 minutes. This brief resting period helps the interior set and makes the stuffing easier to portion.
- Immediately before serving, scatter fresh sage, parsley, rosemary, or a combination of the herbs over the top for additional color and fresh herbal flavor.
