Preheat oven to 350°F and grease a 9x13 inch baking dish generously with butter. Line the bottom with parchment paper, leaving overhang on long sides for easy removal. Proper prep prevents sticking and makes cleanup simple.
Prepare ingredients by bringing butter, eggs, and buttermilk to room temperature if you haven't already. Rinse fresh cranberries and remove any soft ones. Zest oranges carefully, avoiding bitter white pith underneath.
Whisk dry ingredients including flour, baking powder, baking soda, and salt in a large bowl for 30 seconds. This aerates flour and distributes leavening agents evenly for consistent rise throughout the cake.
Cream butter and sugar in a stand mixer on medium speed for 3-5 minutes until light, fluffy, and pale yellow. This incorporates air that creates tender crumb. Don't rush this step—proper creaming is crucial for texture.
Add orange zest and beat for 30 seconds to release aromatic oils into the fat. Then add eggs one at a time, beating well after each addition. Scrape bowl sides after each egg to ensure even mixing.
Alternate adding dry ingredients and buttermilk to the creamed mixture, starting and ending with dry ingredients. Add dry in three portions, buttermilk in two portions. Mix on low speed just until combined—don't overmix or cake becomes tough.
Fold in cranberries gently with a rubber spatula using broad strokes. Distribute berries evenly without crushing them or overmixing the batter. Pour into prepared pan and spread evenly into corners.
Bake for 45-55 minutes until golden brown and a toothpick inserted in center comes out clean or with moist crumbs. Edges will pull away slightly from pan sides. Avoid opening oven during first 30 minutes or cake might sink.
Cool in pan for 15-20 minutes on a wire rack before removing. This allows cake to set properly so it doesn't crumble. Use parchment handles to lift cake out easily.
Make glaze by whisking powdered sugar, orange zest, and orange juice until smooth and pourable. Start with 3 tablespoons juice and add more if needed. Drizzle over completely cooled cake and let set for 15 minutes.