Preheat your oven to 350°F (175°C). Lightly grease a 9x5 inch loaf pan and line it with parchment paper for easy removal.
In a medium bowl, whisk together the flour, baking powder, baking soda, salt, and all the spices: cinnamon, ginger, nutmeg, cloves, and allspice. This helps distribute the spices evenly, so every slice is full of flavor.
In a large mixing bowl, use a hand or stand mixer to cream together the softened butter and dark brown sugar until light and fluffy – about 2 to 3 minutes. This step adds air to the batter and helps with the loaf’s rise.
Beat in the egg, then add the vanilla extract, molasses, and sour cream. Mix until everything is smooth and well combined. The batter may look slightly curdled at this point – that’s normal.
With the mixer on low speed, gradually add the dry ingredients in three batches, alternating with the milk. Start and end with the dry mix. Be careful not to overmix – just blend until no streaks of flour remain. Overmixing can make the loaf dense.
Pour the batter into your prepared loaf pan. Smooth the top with a spatula to help the loaf bake evenly.
Place the pan in the center of the oven and bake for 45 to 50 minutes, or until a toothpick inserted in the center comes out clean. The loaf should have a beautiful domed top and a deep brown color.
Let the gingerbread loaf cool in the pan for 10 minutes, then carefully lift it out using the parchment paper and transfer it to a wire rack. Allow it to cool completely before adding icing.