Whisk the flour, baking soda, and salt together in a medium bowl.
In a large bowl, beat the butter with the brown sugar and granulated sugar for 2 to 3 minutes, until light and creamy.
Beat in the eggs one at a time, then mix in the vanilla and orange zest, if using.
Add the dry ingredients and stir just until combined. Fold in the white chocolate and cranberries.
Cover and chill for 30 minutes. This keeps the cookies thick and stops them from spreading too much.
Heat the oven to 350 degrees F and line two baking sheets with parchment. Scoop 2 tablespoons of dough per cookie, 2 inches apart. Bake for 11 to 13 minutes, until the edges are golden and the centers still look soft. Cool on the pan for 5 minutes, then move to a wire rack.