01 - In a large bowl, whisk together the all-purpose flour, granulated sugar, active dry yeast, and salt until evenly combined.
02 - In a separate bowl, whisk warm whole milk, melted unsalted butter, and eggs until smooth. Pour the wet ingredients into the dry mixture and stir until a shaggy dough forms.
03 - Knead the dough by hand or with a stand mixer for 6 to 8 minutes until it is smooth and elastic.
04 - Transfer the dough to a greased bowl, cover it, and allow to rise in a warm location until doubled in size, about 1 hour.
05 - While the dough rises, combine granulated sugar and water in a small saucepan over medium heat. Cook until the mixture turns an amber hue. Remove from heat and carefully stir in the unsalted butter and heavy cream, then add salt. Let caramel sauce cool to room temperature.
06 - Stir together creamy peanut butter, light brown sugar, and softened unsalted butter in a small bowl until completely smooth.
07 - On a lightly floured surface, roll out the risen dough into a 12 by 18 inch rectangle.
08 - Evenly spread the peanut butter mixture across the surface of the rectangle. Drizzle half of the prepared caramel sauce over the top.
09 - Using a knife or bench scraper, cut the dough into 6 strips. Stack the strips and slice into 6 even squares.
10 - Arrange the stacked dough squares, cut-sides up, in a greased 9 by 5 inch loaf pan. Cover and let rise for 30 minutes.
11 - Preheat the oven to 350°F.
12 - Bake for 30 to 35 minutes, covering with foil during the final 10 minutes if the bread browns too rapidly.
13 - Let cool slightly, then drizzle the remaining caramel sauce over the top and sprinkle with chopped roasted peanuts if desired. Serve warm, allowing pieces to be pulled apart for enjoyment.