Fresh berries, chocolate shavings, or other garnishes
To Make the Brownies:
Preheat the oven to 350 F. Line a 9x13-inch with foil so that it extends up the sides, and spray the foil with nonstick cooking spray.
Combine the eggs, cocoa, salt, baking powder, espresso, and vanilla in the bowl of a large stand mixer fitted with the paddle attachment. Beat everything together on medium-low speed until combined, then raise the speed to medium and beat until smooth.
Combine the butter and both sugars in a medium saucepan over medium heat. Stir while the butter melts and the sugar dissolves. Continue to heat and stir until it is shiny, and bubbles start to appear along the sides of the pan, but don't bring it to a boil.
Pour the hot butter/sugar mixture into the mixing bowl with the eggs and cocoa, and mix until well-combined. Finally, add the flour and mix it in on medium speed until just a few streaks remain. Add the chocolate chips and finish stirring them in by hand, scraping the bottom and sides of the bowl with a spatula to make sure everything is well-incorporated.
Scrape the brownie batter into the prepared pan and smooth it into an even layer. Bake at 350 F for 27-30 minutes, until a toothpick inserted into the center comes out with just a few moist crumbs attached. Let the brownies cool completely before proceeding with the bread pudding recipe. Brownies can be made in advance and kept at room temperature, well-wrapped, for several days, or frozen for several weeks.
To Make the Bread Pudding:
Cut the brownies into small cubes (less than 1" is ideal) and place them in a large bowl. Preheat the oven to 350 F, and spray a 9x-13-inch pan with nonstick cooking spray. (You can also use a combination of smaller pans, just be prepared to watch them carefully while baking.)
Crack the eggs into the large bowl of a stand mixer fitted with a whisk attachment, and whisk on low speed until the eggs are broken up. Add the vanilla and almond extracts, the cinnamon, salt, sugar, milk, and cream, and mix on low until everything is well-mixed.
Pour the custard over the brownie pieces in the bowl, tossing gently to coat. Add the chopped chocolate to the bowl and toss everything together a few times so it's well-mixed. Scoop the brownie bread pudding into the prepared pan and arrange it into an even layer.
Bake the bread pudding at 350 F for 30-45 minutes, depending on the size of the pan(s) you use. The bread pudding is done when it's golden around the edges, crunchy on top, and the pudding barely jiggles in the center of the pan—it should feel almost set.
Let the bread pudding cool at room temperature until it is warm but no longer hot. If made in advance, try to reheat it before serving, because this is one dessert that really shines when eaten warm.
Whip together the cream and powdered sugar until they form medium peaks. Top the still-warm brownie bread pudding with a big spoonful of whipped cream and any other garnishes of your choice, like chocolate curls or fresh berries. This bread pudding is also excellent with ice cream or crème anglaise!
The brownie recipe is adapted from King Arthur Flour. You can substitute your favorite brownie recipe that yields a 9x13-inch pan of brownies, but I would recommend against using any recipe that produces very dense, fudgy brownies. This recipe works best with brownies with a lighter, more cake-like texture. If you're using your own brownies, you'll want to use about 2 lbs 12 oz of brownie cubes, or 12-14 cups, to get the same amount of brownies this recipe makes.