Heat oven to 300°F. Spread bread cubes on two sheets.
Toast until dry but not browned, 12–15 minutes. Cool completely.
Increase oven to 350°F. Grease a 9x13-inch baking dish.
Melt butter with olive oil in a large skillet over medium heat.
Cook onion and celery until softened and translucent, about 8 minutes.
Stir in garlic, caraway, parsley, sage, and thyme. Cook 1 minute.
Place bread in a large bowl. Add cooked vegetables and toss well.
Drizzle in broth, salt, and pepper. Toss until evenly moistened.
Spread in dish, cover with foil, and bake 20 minutes.
Uncover, fluff gently, and bake until crisp on top, 15–20 minutes.