Start by preheating your oven to 350°F (180°C). Grease a loaf pan and line it with parchment paper. Trust me, this little step makes it way easier to pull out your cake later without drama.
In a small bowl, mix the cocoa powder with 2 tablespoons of boiling water. Stir until it’s a smooth, thick paste. Set it aside for now. This is what gives you that gorgeous chocolate swirl.
In a blender or with a stick blender, blitz the silken tofu, non-dairy milk, vinegar, vanilla extract, and both sugars until it’s creamy and smooth. It should look like a thick, beige milkshake. Weird, but stick with me.
In a large mixing bowl, whisk together the flour, baking powder, baking soda, and salt. This is your dry base.
Add your oil to the dry ingredients and stir gently until it’s a bit crumbly. It’ll feel strange, like wet sand, but that’s exactly what we want here. Coating the flour like this helps keep the cake soft and tender.
Slowly pour in the wet tofu mixture. Whisk gently until everything comes together into a smooth batter. Don’t go wild whisking here. Just mix until no lumps remain.
Scoop out about 1/3 to 1/2 of the batter and stir it into the cocoa paste you made earlier. This is your chocolate swirl magic.
Time to layer! Add a few spoonfuls of the vanilla batter into the pan, then chocolate, then vanilla again, repeating until you’ve used it all up. Don’t stress about it being perfect.
Grab a skewer or butter knife and swirl it through the batter just a couple of times. Don’t overdo it or your swirl will turn into a muddle. Trust me, I’ve done it.
Bake for 60 to 70 minutes. Start checking around the 55-minute mark. When a skewer comes out clean (or with a few crumbs), it’s done. Let it cool in the pan for 20 minutes before lifting it out. Then cool it completely on a rack. Slice and admire those swirls!