This french toast casserole recipe starts the night before, when cubed day-old bread soaks in a custard of eggs, whole milk, and a little heavy cream. In the morning you scatter a brown sugar streusel over the top and bake it until the edges caramelize and the center sets. The work happens ahead of time, so breakfast is just a matter of sliding the dish into a hot oven, which is why it earns a spot on holiday mornings when the stove is already crowded.
Let the bread soak for at least 30 minutes if you’re pressed for time, though overnight gives the firmest, most custardy result. Round out the table with crisp apple cider donuts and biscuits and gravy, and no one reaches for a second plate.
Ingredients
- 1 lb (about 1 loaf) day-old French bread or brioche, cut into 1-inch cubes
- 8 large eggs
- 2 cups whole milk
- ½ cup heavy cream
- ½ cup granulated sugar
- ¼ cup packed light brown sugar
- 2 teaspoons vanilla extract
- 1 ½ teaspoons ground cinnamon, divided
- ¼ teaspoon fine salt
- 3 tablespoons unsalted butter, softened, for the dish
- ½ cup all-purpose flour
- ½ cup packed light brown sugar
- 1 teaspoon ground cinnamon
- ¼ teaspoon fine salt
- ½ cup cold unsalted butter, cut into small pieces
- ½ cup chopped pecans or walnuts (optional)
- Maple syrup, powdered sugar, and fresh berries, for serving
Instructions
- Dry and cube the bread: Cut the bread into 1-inch cubes and spread them on a sheet pan to dry for at least 30 minutes, or leave them out overnight. Stale, dry bread is what soaks up the custard without collapsing into paste, while fresh soft bread turns the middle gluey. If your bread is still soft, toast the cubes at 300°F for 8 to 10 minutes and let them cool.
- Butter the dish: Grease a 9×13-inch baking dish with the softened butter, getting the corners and about an inch up the sides. That thin layer keeps the custard from sticking and lets the bottom of the casserole caramelize a little as it bakes. Spread the bread cubes evenly in the dish and press them down into a single loose layer.
- Whisk the custard: In a large bowl, whisk the eggs, whole milk, heavy cream, granulated sugar, ¼ cup brown sugar, vanilla, 1 teaspoon of the cinnamon, and the salt until the sugar dissolves and the mixture is one even color. A few streaks left unwhisked will bake into rubbery patches, so give it a full minute.
- Soak the bread: Pour the custard evenly over the bread and press the cubes down so each one gets wet. Cover the dish and refrigerate for at least 30 minutes, or overnight if you have the time. Overnight soaking is what gives the firmest custard and the least risk of a wet pocket in the center.
- Make the streusel and top: In a small bowl, stir together the flour, ½ cup brown sugar, 1 teaspoon cinnamon, and ¼ teaspoon salt. Cut in the cold butter with your fingers or a pastry cutter until the mixture looks like coarse crumbs, then stir in the pecans if you’re using them. Scatter the streusel evenly over the soaked bread so every scoop gets some topping.
- Bake and rest: Heat the oven to 350°F and bake uncovered for 40 to 50 minutes, until the casserole puffs, the streusel turns deep golden, and a thin knife inserted in the center comes out clean or with just a few moist crumbs. If the top browns early, tent the dish loosely with foil. Let it rest for 10 minutes before cutting, so the custard finishes setting.
Bread swaps and add-ins that still set
- Day-old French bread is the default here, but brioche makes it richer and challah lands somewhere in between. Sourdough adds a tang that plays well against the brown sugar, and all three hold up to the custard. Soft sandwich bread is the one to avoid, because it breaks down into paste.
- For a berry version, scatter 1 cup of blueberries or raspberries between the bread layers. Pat frozen berries dry first, since the ice that clings to them waters down the custard and slows the bake.
- A cream cheese version is worth the extra minute. Dot 4 ounces of softened cream cheese between the cubes before the custard goes on, and it melts into tangy pockets that break up the sweetness.
- I keep the streusel on the lighter side with ½ cup of flour, but if you want it cookie-thick, push it to ¾ cup and add another tablespoon of cold butter. Skip the extra sugar either way, because the custard’s already plenty sweet.
- Add ½ cup of chopped pecans or walnuts to the streusel for crunch, or trade the cinnamon for pumpkin pie spice in the fall. A batch of pumpkin muffins alongside it makes a full autumn brunch.
- For a cinnamon roll angle, drizzle a simple powdered sugar glaze over the cooled casserole instead of maple syrup, and put out brioche cinnamon rolls if you want to double down on the theme.
Keeping the center from staying wet
- Cut the bread into even 1-inch cubes. Oversized chunks hold the custard on the outside, so the middle of the dish bakes up wet while the edges dry out.
- Keep the custard at 2 cups whole milk and ½ cup heavy cream for 8 eggs. Adding more liquid to stretch the dish is the fastest route to a soggy center, and the set never firms up.
- Bake it uncovered so steam escapes and the streusel crisps. A covered dish traps that moisture and steams the top into a soft, pale layer.
- Test the middle with a thin knife. A few moist crumbs are fine, but any wet custard means it needs another 5 to 10 minutes in the oven.
- If the top browns before the center sets, tent the dish loosely with foil and keep baking. Foil over the streusel in the last stretch protects it without trapping much steam.
- A glass or ceramic dish holds heat longer than metal, so the center keeps setting after the casserole leaves the oven. In a metal pan, start checking the middle a few minutes earlier and lean on the knife test.
Cooled leftovers keep in the refrigerator for up to 3 days in an airtight container. Reheat covered at 350°F for 15 to 20 minutes, or warm a single serving in the microwave. To freeze, bake and cool the casserole completely, wrap it tightly, and freeze for up to 2 months; thaw overnight in the fridge before reheating. The custard can weep a little after freezing, so reheat it covered to bring it back together.
FAQ
Can I make french toast casserole ahead of time?
Yes, and that’s the best part of the recipe. Assemble the dish through the soak, cover it, and refrigerate for up to 24 hours. Add the streusel just before baking, then give it 5 to 10 extra minutes since the custard starts cold. Mix the topping the night before and keep it in the fridge in a bag if you want the morning to be quicker.
What is the best bread for french toast casserole?
Day-old French bread, brioche, challah, or sourdough all work because they are sturdy enough to soak without dissolving. The key is that the bread is dry, not fresh and soft. Soft sandwich bread turns mushy, so leave a sturdy loaf out overnight if that’s what you have.
Why is my french toast casserole soggy?
It usually comes down to soft bread, too much custard, or underbaking, and it doesn’t fix itself in the pan. Use day-old bread, keep the liquid at 2 cups milk and ½ cup cream for 8 eggs, and bake it uncovered until a knife in the center comes out clean. If the middle is still wet, bake another 5 to 10 minutes and test again.
Should I bake french toast casserole covered or uncovered?
Bake it uncovered so the streusel crisps and the steam escapes, which keeps the center from steaming soggy. If the top starts to brown before the middle sets, tent it loosely with foil for the last few minutes and uncover it again to finish.
Can you freeze french toast casserole?
You can freeze this casserole for up to 2 months. Bake and cool it completely, wrap the dish tightly in plastic wrap and then foil, and freeze. Thaw it overnight in the refrigerator, then reheat it covered at 350°F for 15 to 20 minutes or until warmed through.



