Bring a large, heavy-bottomed pot with water to boil (enough water to cover the cabbage).
Melt butter over medium heat in a skillet on the stove. Add sliced onions and cook, stirring occasionally for just a few minutes until soft.
Add ground meat and break up with a wooden spoon. Season with salt, ginger, and garlic. Cook meat until no pink remains and the liquid is starting to absorb, approx. 5-6 minutes.
Add shredded carrot, dan dan sauce. Stir into the meat mixture and continue to cook until the sauces absorb for a minute or so.
Let rest and come to room temperature way from the stove.
Meanwhile, the water should be boiling. Prep an ice bath in a large bowl with ice and cold water next to the stove.
Using tongs, lower the whole head of cabbage into the boiling water and let it boil for approx. 1-1.5 minutes. Remove the head of cabbage carefully with a large spoon and tongs (it will be heavier now, carrying water). Keep the water on a low boil – you’ll need it again.
Add the cabbage to a large bowl, and carefully peel back the soft leaves, placing in the ice bath to stop cooking.
Repeat this process until you have used all of the ground beed. Dry each blanched leaf well with a paper towel after the ice bath and lay the cabbage leaves in front of you with the core facing you.
Prep your work station and add approx. 3 Tbsp of your meat mixture to the bottom of the cabbage leaf towards the core, fold the sides in, and then fold the bottom away from you to the top of the leaf. Keep the edge tucked underneath.
Place the cabbage rolls in a baking pan. Allow to bake for 5-7 minutes.