Preheat oven to 350F. Grease a 9-inch square baking pan and set aside.
For the cake: In a medium bowl with an electric mixer or the bowl of a stand mixer with the paddle attachment, beat butter and sugar together until crumbly, about 2 minutes. Beat in the egg. In a separate medium bowl, whisk together the flour, salt and baking powder Add the flour mixture to the butter mixture alternately with the milk, beating well after each addition. Fold in cranberries.
Spoon batter in to prepared baking pan and smooth batter. Bake at 350° F for 50-55 minutes or until a toothpick inserted in the centre comes out clean. Set on a cooling rack to cool slightly while you prepare the sauce.
For the sauce: Melt butter in medium saucepan over medium heat. Add flour and sugar. Bring to a boil, stirring constantly. Remove from heat and immediately stir in 3/4 c. heavy whipping cream, vinegar and vanilla. Stir quickly until blended. Pour warm sauce over squares of slightly warm cake.
Cake is best enjoyed with lightly warm cake topped with warm sauce. Left-overs can be re-warmed to enjoy later.