Preheat oven to 350 degrees F. Spray a 9x13 baking pan with nonstick spray. Line with parchment paper for easy removal. Set aside.
In a large bowl, whisk together the butter, sugars, and vanilla until well combined.
1 cup unsalted butter, 1 ½ cups light brown sugar, ½ cup granulated sugar, 1 tablespoon vanilla extract
Stir in the eggs, one at a time, mixing well after each addition.
4 large eggs
Add flour, cocoa powder, and salt. Stir until just incorporated.
2 ¼ cups all purpose flour, 1 cup unsweetened cocoa powder, 1 teaspoon kosher salt
Scoop the batter into the prepared baking pan.
Bake for 20 minutes. The brownies will still be underdone, but this will allow you to add the pecan topping.
While the brownies are baking, add brown sugar, corn syrup, butter, heavy cream, and salt to a large saucepan. Bring to a boil, reduce heat to low, and simmer for 2 minutes.
¾ cup light brown sugar, ½ cup light corn syrup, 12 tablespoons unsalted butter, ¼ cup heavy cream, ¼ teaspoon kosher salt
Remove from heat and stir in vanilla and pecans.
1 teaspoon vanilla extract, 4 cups pecan halves
Pour the hot pecan filling over the underbaked brownies.
Return pan to the oven and bake for an additional 15-20 minutes, or until set.
Cool brownies completely before lifting them out of the pan and cutting into bars.
Notes
Butter: If you prefer to use salted butter, decrease the salt in the brownies to 1/2 teaspoon and omit the salt in the topping.
Brown sugar: Dark brown sugar also works well in this recipe.
Cocoa powder: I've only used unsweetened cocoa powder, not Dutch processed cocoa powder, in this recipe.