Preheat your oven to 350°F (175°C). Lightly grease a 9×13-inch baking pan with oil or nonstick spray. For tidy edges, line the pan with parchment paper, leaving a little overhang for easy lifting.
In a large bowl, whisk together the flour, granulated sugar, cocoa powder, baking soda, and salt until evenly combined with no cocoa clumps.
2 cups all-purpose flour, 1 1/2 cups granulated sugar, 1/3 cup unsweetened cocoa powder, 1 1/2 teaspoons baking soda, 1 teaspoon fine sea salt
Pour in the water, neutral oil, and vanilla. Whisk gently until a smooth, fairly thin batter forms.
1 1/2 cups water, 1/2 cup neutral oil, 2 teaspoons pure vanilla extract
Add the vinegar and whisk quickly but gently. The batter will form tiny bubbles as the vinegar and baking soda react. If using dairy-free chocolate chips or chunks, fold them into the batter now.
2 tablespoons white vinegar, 1/2 cup dairy-free chocolate chips or chunks
Pour the batter into the prepared pan and smooth the top. Bake for 25–30 minutes, or until the center springs back lightly when touched and a toothpick inserted in the center comes out with a few moist crumbs. Start checking around 23–24 minutes.
Set the pan on a wire rack and let the cake cool completely in the pan. This helps it set into neat bars and keeps the glaze from melting off.
In a medium bowl, whisk together the powdered sugar, cocoa powder, and a pinch of salt. Add 3 tablespoons of water, coffee, or plant milk and the vanilla. Whisk until smooth, adding a tiny bit more liquid as needed to reach a thick but pourable consistency, like slow-flowing honey.
1 1/2 cups powdered sugar, 1/4 cup unsweetened cocoa powder, 3-4 tablespoons water, strong coffee, or plant milk, 1 teaspoon pure vanilla extract, salt
Pour the glaze over the completely cooled cake and spread it gently with an offset spatula or the back of a spoon. Let it sit for 20–30 minutes so the glaze can set. If the kitchen is warm, chill briefly in the fridge.
Use a sharp knife to cut the cake into about 24 bars, wiping the knife with a warm, damp cloth between cuts for especially neat squares. Serve at room temperature.