Preheat oven to 325°F (165°C) and wrap the outside of a 9-inch springform pan with aluminum foil to prevent leaks. Combine graham cracker crumbs, sugar, and melted butter until it resembles wet sand, then press firmly into the bottom and slightly up the sides.
Bake the crust for 10 minutes until lightly golden, then let it cool while preparing the filling.
Beat softened cream cheese on medium speed until completely smooth, about 2 minutes. Gradually add sugar on low, then add eggs one at a time, mixing just until incorporated.
Gently stir in vanilla extract and sour cream until silky and uniform, then pour the filling over the cooled crust and smooth the top with a spatula.
Place the foil-wrapped pan inside a larger roasting pan and pour hot water until it reaches halfway up the sides of the springform pan. Bake at 325°F for 60-70 minutes until the edges are set but the center still jiggles slightly.
Turn off the oven and crack the door, letting the cheesecake cool inside for 1 hour. Remove from the water bath and run a knife around the edge to prevent cracking as it cools.
Combine cranberries, sugar, water, and orange zest in a saucepan over medium heat. Bring to a boil, then simmer for 10-12 minutes until berries burst and the mixture thickens, stirring occasionally and mashing some berries for texture.
Let the topping cool completely to room temperature before spreading over the chilled cheesecake; it will thicken further as it cools into a glossy layer.
Spread the cooled cranberry topping evenly over the fully chilled cheesecake and refrigerate for at least 4 hours, preferably overnight, to set completely.
Remove the springform ring carefully and slice with a hot, dry knife, wiping the knife between slices to maintain clean layers. Garnish with fresh orange zest or sugared cranberries if desired.