Preheat the oven to 350°F. Butter or grease an 8x8-inch baking pan and line it with parchment paper, leaving a few inches on each side for easy removal.
In a large bowl, cream the the butter and sugar until light and fluffy, about 4 minutes, scraping down the sides of the bowl as needed.
Beat in the egg and vanilla extract, then beat in the baking powder and salt.
On low speed, mix in half of the flour, then beat in the milk, and finish with the flour until incorporated. The batter will be thick.
Reserve about ¼ cup cranberries and, using a rubber spatula, fold in the remaining cranberries.
Spread the batter evenly into the prepared pan and scatter the reserved cranberries over the top of the cake.
Place the cake in the oven and bake for 40-45 minutes, checking at 40 minutes, until set and a tester inserted in the center comes out clean.
Set the pan on a wire rack and cool for 15-20 minutes in the pan. Remove the cake from the pan using the extra parchment, and let cool to room temperature before serving.