Preheat oven to 350°F (175°C). Line an 8x8-inch baking pan with parchment paper, leaving overhang on two sides. Grease lightly.
Melt butter in a saucepan over low heat, then remove from heat and cool for 3-4 minutes. Whisk in sugar, then add eggs one at a time, whisking vigorously after each addition until glossy.
Sift cocoa powder, flour, salt, and baking powder into the butter mixture. Add vanilla. Fold gently with a spatula just until no dry streaks remain. Do not overmix.
In a separate bowl, beat softened cream cheese with an electric mixer for 1 minute until smooth. Beat in sugar for 30 seconds, then add egg yolk and vanilla. Mix until just combined.
Pour brownie batter into prepared pan and spread evenly. Drop 5-6 large spoonfuls of cheesecake mixture on top, distributed across the surface.
Insert a butter knife into the batter and drag through both layers in long S-curves or figure-eight patterns. Turn pan 90 degrees and repeat. Make 3-4 passes total for distinct marble ribbons.
Bake for 32-38 minutes until edges are set and center has a slight jiggle. A toothpick inserted into chocolate portions should have moist crumbs. Cheesecake spots will be lightly golden and slightly puffed.
Cool completely in pan on a wire rack for at least 2 hours. Lift out using parchment overhang, transfer to cutting board, and slice with a sharp knife, wiping blade between cuts.