Butter, olive oil, or cooking spray
6 large day-old everything bagels, cut into rough 1-inch cubes (about 12 cups)
2 tablespoons olive oil
1 medium yellow onion, diced
3 celery stalks, diced
4 scallions, ends trimmed and chopped
2 1/2 cups low-sodium chicken or vegetable broth
2 large eggs
1/2 cup heavy cream
Kosher salt
Freshly ground black pepper
2 tablespoons unsalted butter, melted
Lightly grease a 3-quart casserole dish or 9x13-inch baking dish with butter, olive oil, or cooking spray. Arrange a rack in the middle of the oven and heat to 350°F.
Spread the bagel cubes in a single layer on a rimmed baking sheet. Bake, stirring halfway through, until the bread is dry and lightly toasted, about 20 minutes total. Remove from the oven and let cool. Increase the oven temperature to 400°F.
Heat the oil in a medium skillet over medium heat until shimmering. Add the onions and celery and cook, stirring frequently, until the vegetables are very soft, about 10 minutes. Stir in the scallions, then turn off the heat.
Whisk the broth, eggs, and cream together in a large bowl and season with salt and pepper. Add the bagel cubes and sautéed vegetables and stir until all the ingredients are evenly coated.
Transfer the mixture to the prepared baking dish and drizzle the top with the melted butter. Cover the dish loosely with aluminum foil. Bake until a knife inserted in the center of the stuffing comes out warm, about 30 minutes. Uncover and continue baking until the top is crispy and golden-brown, 15 to 20 minutes more. Let cool briefly before serving.