Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (16 oz) rustic country bread, cut into 3/4-inch cubes (about 10–12 cups)
- 8 tbsp (113 g) unsalted butter, divided
- 2 cups (about 240 g) diced yellow onion (1 large)
- 1 1/2 cups (about 150 g) diced celery (3–4 ribs)
- 2 cups (about 260 g) diced apple (2 medium; Honeycrisp or Granny Smith)
- 2 tbsp finely chopped fresh sage (or 2 tsp dried sage)
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper
- 2 1/2 cups (600 ml) low-sodium chicken or vegetable broth, warmed
Do This
- 1. Heat oven to 300°F; dry bread cubes on a sheet pan for 20 minutes, stirring once.
- 2. Raise oven to 375°F; butter a 9×13-inch baking dish.
- 3. Sauté onion and celery in 6 tbsp butter for 10 minutes; add apples and sage and cook 5 minutes.
- 4. Toss bread with sautéed mixture; season with salt and pepper.
- 5. Add warm broth gradually, tossing until evenly moistened (not soupy).
- 6. Bake covered 25 minutes, then uncovered 20–25 minutes until crisp and golden on top.
- 7. Rest 10 minutes before serving so the inside stays soft and set.
Why You’ll Love This Recipe
- Crisp top, soft center: Covered-then-uncovered baking gives you the best texture.
- Classic holiday flavor, no fuss: Apples and sage make it cozy and fragrant without complicated steps.
- Feeds a crowd: A full 9×13-inch pan is ideal for big gatherings.
- Flexible: Easy to make vegetarian and simple to prep ahead.
Grocery List
- Produce: 1 large yellow onion, 3–4 celery ribs, 2 medium apples, fresh sage (small bunch)
- Dairy: Unsalted butter
- Pantry: Rustic country bread (or sourdough), low-sodium chicken or vegetable broth, kosher salt, black pepper
Full Ingredients
Bread Base
- Rustic bread: 1 lb (16 oz) rustic country bread or sourdough, cut into 3/4-inch cubes (about 10–12 cups)
Vegetables, Fruit & Herbs
- Yellow onion: 2 cups diced (about 1 large onion)
- Celery: 1 1/2 cups diced (about 3–4 ribs)
- Apples: 2 cups diced (about 2 medium apples; Honeycrisp for sweetness or Granny Smith for tartness)
- Fresh sage: 2 tbsp finely chopped (or dried sage: 2 tsp)
Fat, Broth & Seasonings
- Unsalted butter: 8 tbsp (113 g), divided (6 tbsp for sautéing + 2 tbsp for the baking dish and finishing)
- Low-sodium broth: 2 1/2 cups (600 ml) chicken or vegetable broth, warmed
- Kosher salt: 1 tsp, plus more to taste
- Black pepper: 1/2 tsp, plus more to taste

Step-by-Step Instructions
Step 1: Dry the bread cubes for the best texture
Preheat the oven to 300°F (150°C). Spread the bread cubes out in an even layer on a large rimmed sheet pan.
Bake for 20 minutes, stirring once halfway through, until the cubes feel dry on the outside but aren’t deeply browned. This step helps the bread soak up broth without turning mushy.
Step 2: Prep the pan and heat the oven for baking
Increase the oven temperature to 375°F (190°C).
Butter a 9×13-inch (3-quart) baking dish with 1 tbsp of the butter. Set aside.
Step 3: Sauté onion and celery until sweet and tender
In a large skillet or Dutch oven, melt 6 tbsp butter over medium heat.
Add the diced onion and celery. Cook for 10 minutes, stirring occasionally, until the onion is soft and translucent and the celery has softened. You’re building the savory backbone here, so take the time to let it turn fragrant and slightly sweet.
Step 4: Add apples and sage and cook just until the apples soften
Add the diced apples, chopped sage, 1 tsp kosher salt, and 1/2 tsp black pepper to the skillet.
Cook for 5 minutes, stirring often, until the apples begin to soften but still hold their shape. (You want pieces of apple throughout the bake, not applesauce.)
Step 5: Combine the bread and the sautéed mixture
Transfer the dried bread cubes to a very large mixing bowl (or keep them on the sheet pan if you prefer mixing there).
Scrape the warm onion-celery-apple mixture over the bread. Toss well so the buttery vegetables and herbs are evenly distributed.
Step 6: Add warm broth gradually and let it absorb
Drizzle in about 2 cups of the warm broth and toss gently. Add the remaining broth in small splashes, tossing between additions, until the bread is evenly moistened.
The mixture should feel wet but not soupy; when you press a handful lightly, it should hold together but not drip. Let the mixture sit for 5 minutes so the bread can fully absorb the liquid. Taste a small piece (it’s just bread and cooked vegetables) and add a pinch more salt or pepper if needed.
Step 7: Bake covered for a soft interior
Spoon the stuffing mixture into the buttered baking dish and spread it into an even layer without packing it down too tightly.
Melt the remaining 1 tbsp butter and drizzle it over the top.
Cover tightly with foil and bake at 375°F for 25 minutes. This steams the center so it stays soft and tender.
Step 8: Uncover and bake until crisp and golden
Remove the foil and continue baking for 20–25 minutes, until the top is crisp, browned in spots, and the edges are lightly crunchy.
Let the stuffing bake rest for 10 minutes before serving. This short rest helps the interior set so you can scoop neat portions while keeping the center soft.
Pro Tips
- Use truly dry bread: If your bread feels fresh or springy, extend the drying time to 30 minutes at 300°F. Drier cubes soak up broth more evenly.
- Warm broth absorbs better: Cold broth can cool the mixture and slow absorption, leading to unevenly moist stuffing.
- Control the moisture level: Start with 2 cups broth and add the rest gradually. Different breads absorb differently.
- For extra-crispy top: Bake uncovered for the final 5 minutes a little higher in the oven, watching closely to prevent burning.
- Season in layers: Salt the sautéed vegetables, then taste again after adding broth (broth salt levels vary).
Variations
- Vegetarian main-side: Use low-sodium vegetable broth. Add 1 cup toasted walnuts or pecans for extra heft and crunch.
- Sausage apple-sage stuffing bake: Brown 12 oz (340 g) breakfast sausage, remove, then sauté vegetables in the drippings plus butter. Stir sausage back in with the bread.
- Cranberry twist: Add 1/2 cup (70 g) dried cranberries with the apples for a sweet-tart pop.
Storage & Make-Ahead
Make-ahead (best for gatherings): Prepare the recipe through adding the broth and spreading it in the baking dish. Cover and refrigerate for up to 24 hours. Before baking, let it sit at room temperature for 30 minutes. Bake covered at 375°F for 30 minutes (a little longer since it’s cold), then uncover and bake 20–25 minutes until crisp and hot throughout.
Refrigerate leftovers: Cool, cover, and refrigerate for up to 4 days.
Reheat: Spread in a baking dish, cover with foil, and reheat at 350°F for 20 minutes, then uncover for 5–10 minutes to re-crisp the top.
Freeze: Freeze baked stuffing tightly wrapped for up to 2 months. Thaw overnight in the refrigerator and reheat at 350°F until hot.
Nutrition (per serving)
Approximate (based on 12 servings): 240 calories, 10 g fat, 33 g carbs, 4 g protein, 3 g fiber, 420 mg sodium.
