Bread Pudding:
In a 2 quart mixing bowl, combine sugar, eggs, heavy cream, and amaretto together and mix well.
Tear the sourdough bread into small pieces, then add the bread to the liquid and mix until all is absorbed.
Fold in the white chocolate
Divide the bread mixture into two equal parts.
In one part, fold in the ganache and chocolate powder.
Assemble the Bread Pudding:
Line a 10" cake pan with parchment paper.
The First Layer:
Fill a 1 cup measuring cup half full with the white chocolate mixture and put directly into the center of the pan.
Fill the measuring cup half full with the white chocolate mixture and put it at the 12 o'clock position, another half at the 3 o'clock position, another at 6 o'clock, and another at 9 o'clock.
Fill the measuring cup half full with the dark chocolate mixture and put half cups in between the white chocolate sections.
Gently pat the mixture to fill in the gaps.
The Second Layer:
Follow the above procedure, but put the dark chocolate over the white chocolate.
Tap the pan on the counter to distribute the bread pudding evenly in the pan.
Place the cake pan in a water bath, but do not let the water go on top of the bread pudding and don't let the water evaporate completely in the process of baking.
Bake at 350 degrees for 1 to 1 and a half hours, or until bread feels firm.
Remove from the oven and let rest for 10-15 minutes. Cut into desired portions and serve warm with topping.
Chocolate Ganache:
Shave the chocolate and place into a bowl. Set aside.
Heat the cream to scalding and remove from heat. Pour over chocolate and stir with spoon until chocolate is completely melted. If chocolate doesn't completely melt, place bowl over a warm water bath and stir until it is melted.
Set the chocolate ganache aside.
Almond Topping:
While the bread pudding is baking, saute the almonds in butter.
Combine all ingredients.
Drizzle over bread pudding.