First make hot chocolate: Bring water to a boil in a medium saucepan. Remove from heat and stir in peanut butter. Keep whisking until the peanut butter dissolves. Add cocoa powder and continue whisking until you get a smooth mixture.
Place the mixture back on the stove, set on medium heat, and slowly pour in milk. Keep whisking until milk and the peanut butter mixture are completely combined.
When the milk is warm (but not boiling!), add the finely chopped chocolate. Keep stirring until all the chocolate melts. Scrape the sides and the bottom of the pot with a spatula to make sure you’re getting all the bits mixed in.
The mixture should look like a chocolate soup. Taste the chocolate to see if you want to add some sugar. Add it tablespoon by tablespoon, stirring after each addition, until you get to the sweetness that you like. Remove hot chocolate from the stove and keep covered until serving time.
To make whipped cream, combine whipping cream and sugar in a bowl. Beat on medium speed until medium peaks form.
Serve hot chocolate with cream and some caramel sauce. Store leftover chocolate covered in the refrigerator and reheat on the stove before enjoying again.
Notes
How much sugar you add to your hot chocolate depends both on your personal taste and the chocolate you’re using. The sweetness of semisweet chocolate differs from brand to brand.
I'm using natural peanut butter without any sugar added. You can use sweetened peanut butter and balance it out with more cocoa powder if needed.
I'm using 40% baking chocolate. It's semisweet and perfect for cooking.