01 - Preheat oven to 350°F. Line a 9x9 inch baking pan with parchment paper, leaving an overhang for easy removal.
02 - Mix graham cracker crumbs, melted butter, sugar, and salt in a medium bowl until combined. Press firmly into bottom of prepared pan. Bake for 10 minutes. Let cool slightly.
03 - Beat cream cheese until smooth. Add sour cream and sugar, mixing until creamy. Beat in eggs one at a time, then add vanilla and flour. Mix until just combined.
04 - Pour filling over crust and smooth top. Bake for 35-40 minutes until center is set but still slightly jiggly. Cool completely on wire rack, then refrigerate for at least 2 hours.
05 - Heat sugar and water in saucepan over medium heat, swirling (not stirring) until mixture turns deep amber. Remove from heat and carefully whisk in butter. Slowly add heavy cream, whisking until smooth. Add salt if using.
06 - Cool caramel slightly, then pour over chilled cheesecake. Spread evenly and refrigerate for another hour.
07 - Lift bars from pan using parchment overhang. Cut into 16 squares and serve.