Preheat the oven: Preheat your oven to 350°F (175°C) and grease a 9x5-inch loaf pan or line it with parchment paper.
Prepare the wet ingredients: In a large bowl, beat the softened cream cheese and butter together until light and creamy. Gradually add the white sugar, beating until well combined.
Add the eggs and vanilla: Beat in the eggs one at a time, making sure each egg is fully incorporated before adding the next. Stir in the vanilla extract.
Mix the dry ingredients: In a separate bowl, whisk together the flour, cinnamon, baking soda, and salt.
Mix the wet and dry components: Slowly incorporate the dry ingredients into the wet mixture, stirring gently until they are barely combined. Take care not to overmix the batter.
Add the caramel: Pour half of the batter into the prepared loaf pan. Drizzle half of the caramel topping over the batter and gently swirl with a knife or toothpick. Pour the remaining batter over the caramel and drizzle the remaining caramel on top. Swirl again gently for a marbled effect.
Add nuts (optional): If you’re using nuts, sprinkle them evenly over the top of the batter.
Bake the bread: Bake in the preheated oven for 60-70 minutes, or until a toothpick inserted into the center comes out clean. If the top begins to brown too quickly, cover it loosely with aluminum foil during the last 15 minutes of baking.
Let it cool and serve: After baking, let the bread sit in the pan for 10 minutes. Then, carefully move it to a wire rack to cool completely. Slice and serve as is, or with a bit of extra caramel topping drizzled over the top for added sweetness.