Preheat the oven to 350ºF and grease a 9×13-inch baking dish with nonstick spray.
In a large bowl, beat the butter and sugar until crumbly, then mix in the egg.
Combine flour, baking powder, and salt in a separate bowl. Gradually alternate mixing the dry ingredients and milk into the butter mixture, starting and ending with the dry ingredients. Add orange zest and fold in cranberries.
Pour the batter into the prepared baking dish and bake for 25-28 minutes, or until a toothpick comes out clean.
For the sauce, combine butter, sugar, and cream in a saucepan. Bring to a boil over medium heat, stirring constantly. Reduce heat to low and cook for 10-15 minutes, stirring often, until thickened.
Serve warm butter sauce over slices of cake. Reheat the sauce if needed, as it thickens and crystallizes as it cools.