Preheat your oven to 350°F and line a 9x13 inch baking pan with parchment paper, allowing some overhang on the sides for easy removal later. While the oven heats, chop your chocolate into small, uniform 1/4-inch pieces to ensure even melting, and measure out all your dry ingredients and vanilla into separate small bowls so everything is ready when you need it.
Place the butter, chopped chocolate, brown sugar, and sugar in a heat-safe bowl and set it over a pot of gently simmering water (a double boiler setup). Stir occasionally until everything is completely melted and combined, about 5-7 minutes. The even melting of the chocolate pieces will give you a smooth, glossy base—this is where the quality chocolate and butter really shine through. Once melted, remove the bowl from heat and let it cool for about 2 minutes; this slight cooling prevents the eggs from scrambling when added next.
Make sure your eggs are at room temperature (around 70°F) before beginning, as cold eggs won't incorporate as smoothly and will cool the mixture too much. Add the eggs one at a time to the cooled chocolate mixture, stirring thoroughly after each addition until the batter is smooth and glossy before adding the next egg. This gradual incorporation creates an emulsion that gives the brownies their dense, fudgy texture.
Stir in the cocoa powder, salt, espresso powder, and vanilla essence to the egg-chocolate mixture until completely combined and no streaks of cocoa remain. The espresso powder is a secret ingredient that deepens the chocolate flavor without adding any coffee taste—I find it elevates the richness significantly. Whisk vigorously for about 30 seconds to ensure everything is well distributed.
Gently fold in the flour with a spatula using as few strokes as possible—about 10-15 folds until just combined. Overmixing develops gluten and makes brownies tough rather than fudgy, so stop as soon as you don't see any white streaks. Pour the batter into your prepared pan and smooth the top evenly.
Scatter the M&M candies evenly over the top of the batter—I press them in slightly so they nestle into the batter rather than sitting on top, which helps them bake in slightly and stay distributed. Bake for 45-50 minutes; the brownies should look set around the edges but still have a slight jiggle in the very center when you gently shake the pan. A toothpick inserted in the center should come out with just a few moist crumbs, not completely clean.
Remove the pan from the oven and let the brownies cool completely in the pan at room temperature before cutting—this usually takes 1-2 hours. This cooling time allows the structure to set properly so the brownies hold together when cut. Once cooled, lift the brownies out using the parchment paper overhang and cut into squares. The M&Ms will have softened slightly, creating pockets of chocolate throughout each bite.