Dry out your bread by spreading out the cubes on a large sheet pan and leaving on the counter for 24 to 48 hours. If you are short on time, you can toast the bread cubes instead!
Preheat the oven to 375°F. Spread bread cubes on a large rimmed baking sheet. Bake until crisp, about 15 to 20 minutes, stirring every 5 minutes.
Spray a 9x13-inch baking dish with cooking spray. Set aside.
Add butter to a large skillet over medium-high heat. Melt the butter, then add onions, celery, and garlic. Cook, stirring frequently, until the vegetables are soft, about 10 minutes. Stir in sage and thyme, cooking for another 2 to 3 minutes. Remove from heat and set aside.
In a medium bowl, whisk together broth, eggs, salt, and pepper.
Add bread cubes to a large bowl with the onion mixture. Fold to combine and incorporate the vegetables. Drizzle the mixture with the egg mixture. Fold until evenly moistened.
Pour into the prepared baking dish. Spread in an even layer. Cover tightly with aluminum foil.
Bake for 25 minutes. Uncover and bake until the top is golden brown, about 15 minutes more. Note that if you are baking the stuffing from the refrigerator, you will need to add 10 minutes to the covered cook time. Let stand 10 minutes before serving.