In a large saucepan add all of the ingredients and stir to combine.
Heat on medium heat until chocolate is melted (about 8 minutes) and mixture is smooth and is just simmering. Stir continuously.
Pour into mugs and top with whipped cream and a drizzle of salted caramel sauce and flaked salt if desired.
Notes
If you don't have heavy cream, just use all milk. Heavy cream really adds to the creaminess of this drink.
You can use regular caramel sauce instead of salted caramel.
This recipes uses half of a (14 oz) can of sweetned condensed milk. If you want it sweeter, just use the whole can.
You can make this a "white" hot chocolate by using white chocolate chips instead of semi-sweet.
This recipe will work the best if you make it exactly as written. Milk substitutes like almond or soy milk haven't been tested with this recipe so I can't say how that will turn out.