Prep the pan and oven. Preheat your oven to 350°F (175°C).
Grease a 9-inch (23 cm) round cake pan and line the base with parchment. Lightly flour the sides or use baking spray with flour.
Combine dry ingredients. In a large bowl, whisk flour, sugar, baking powder, baking soda, and salt. Break up any lumps so the batter stays smooth.
Mix the wet ingredients. In a separate bowl, whisk eggs, milk, oil, melted butter, and vanilla until smooth.
If using sour cream or yogurt, whisk it in now.
Make the base batter. Pour the wet ingredients into the dry mixture. Whisk gently just until combined. The batter should be thick but pourable.
Don’t overmix.
Divide and flavor. Split the batter evenly into two bowls. To one bowl, add cocoa powder mixed with hot water or coffee to make a smooth paste. Stir the paste into the batter until fully combined.
Keep the other bowl as vanilla.
Check consistency. Both batters should have similar thickness. If the chocolate batter looks too thick, stir in another teaspoon of hot water. Matching textures helps the zebra pattern spread evenly.
Create the zebra stripes. In the center of the pan, add 2 tablespoons of vanilla batter.
On top of that, add 2 tablespoons of chocolate batter. Keep alternating spoonfuls, always placing the batter in the center so it gently spreads out in rings. Continue until all batter is used.
Tap to settle. Gently tap the pan on the counter 2–3 times to remove air bubbles and even out the surface.
Bake. Bake for 32–40 minutes, or until the center springs back lightly and a toothpick comes out clean with a few moist crumbs.
Ovens vary, so start checking at 30 minutes.
Cool properly. Let the cake cool in the pan for 10 minutes, then run a knife around the edge and turn it out onto a rack. Peel off the parchment and let it cool completely before slicing.
Optional finish. Dust with powdered sugar, drizzle with a simple chocolate glaze, or serve plain. The stripes do the talking.