In a large bowl, stir together the flour, baking powder, salt, cinnamon, ginger, and allspice to ensure there are no clumps. Set aside.
Add the eggs, molasses, sweetened condensed milk, and milk to a medium-sized bowl. Whisk until the ingredients are fully blended. Slowly pour into the dry ingredients mixture by creating a well in the center. Fold gently to incorporate, until only a few faint streaks of flour remain.
Preheat a pan or griddle to medium-low heat. Place a small square of butter on the surface to melt, if desired.
Once the pan has preheated, scoop 1/4 - 1/3 cup of the pancake batter onto its surface. Let cook for 1 minute 30 seconds, allowing small bubbles to form and pop. Flip, then allow to cook until a dark golden brown, another minute on the second side.
Transfer to a serving tray. Repeat with the remaining batter, cooking several at a time if desired.
To make the caramel for the topping, add the sweetened condensed milk, brown sugar, and vanilla extract to a small sauce pot.
Cook on medium-low heat for 5 minutes, or until bubbling. Remove from the heat, then add the butter in cubes, baking powder, and salt. Stir well with a heatproof spatula. Let sit for 30 seconds, then stream in the half and half cream.
Stir well. Set aside to cool.
By hand (or using a hand or stand mixer) whip the heavy cream in a large bowl. Whip until stiff peaks form, about five minutes on high speed. In three additions, gently fold the cooled caramel into the whipped cream
Dollop the caramel cream onto each serving of pancakes and serve.
Recipe By Our Friend Angelina From Sugar Butter Flour Bakery