Preheat the oven to 325 degrees Fahrenheit and spray a large loaf pan (9x5x3) with non-stick spray.
Whisk the flour, baking powder and salt together in a large bowl then stir in the cranberries.
In a separate bowl, beat the eggs then add the sugar, oil, sour cream and vanilla extract and whisk again until combined.
Add the wet ingredients to the dry ingredients and stir until just combined.
FOR THE CHEESECAKE FILLING:
Beat the cream cheese in a separate bowl until smooth then add the sugar, egg white and vanilla and mix until smooth.
Sprinkle in the flour and stir just until combined.
Add ⅓ of the bread batter to the prepared loaf pan. Spread it out evenly, then pour in the cheesecake swirl batter and spread it out, then add the remaining bread batter to the top. The batter will be thick, so you will need to add a bit and gently spread it then add more.
Bake for 45 to 55 minutes or until the top and sides turn a light golden color and a toothpick comes out fairly clean when inserted into the center of the bread. (The toothpick should still have a few crumbs on it so that the bread will still be moist.)
Remove it from the oven and let it cool for 30 minutes before turning it out of the pan and letting it cool completely on a cooling rack.
FOR THE OPTIONAL ICING:
Mix the powdered sugar, 2 tablespoons of the orange juice and vanilla extract together in a large bowl. If it’s too thick for your liking, add a dash more of orange juice until it reaches your desired consistency. Drizzle it over the cooled bread and let it stand for 10 minutes.
Slice and serve as desired. Store at room temperature for up to 2 days, or in the refrigerator for up to 4 days.