Preheat the oven to 350°F (175°C). Grease and line a 9×5-inch loaf pan with parchment paper, leaving overhang for easy removal.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt. Set aside.
In a large bowl, beat the softened butter and sugar with an electric mixer for 3-4 minutes until light and fluffy.
Add eggs one at a time, mixing well after each. Stir in orange zest, orange juice, sour cream (or yogurt), and vanilla extract.
Gradually mix in dry ingredients until just combined. Avoid overmixing to keep the cake light.
Gently fold in cranberries. If using frozen cranberries, toss them in 1 tbsp flour to prevent sinking. Evenly distribute the cranberries in the batte
Pour batter into the loaf pan, smooth the top, and bake for 50-60 minutes, or until a toothpick comes out clean. If it’s browning too fast, cover loosely with foil for the last 15 minutes.
While the cake cools, whisk powdered sugar and orange juice together until smooth. Add orange zest for extra flavor.
Drizzle glaze over the cooled cake and let it set for 10-15 minutes before slicing.