Whisk the dry ingredients: In a medium bowl, whisk 1 3/4 cups all-purpose flour, 3/4 cup Dutch-process cocoa, 1 1/2 teaspoons baking powder, and 1/2 teaspoon fine sea salt. Set aside.
Cream the butter and sugars: In a large bowl, beat 1/2 cup unsalted butter with 3/4 cup granulated sugar and 1/2 cup packed brown sugar until light and fluffy, about 2–3 minutes.
This traps air so the cookies stay soft.
Add eggs and flavorings: Beat in 2 large eggs, one at a time, mixing well. Add 1 teaspoon vanilla extract, 1/2 to 3/4 teaspoon peppermint extract (to taste), and 1 teaspoon espresso powder if using. Mix until smooth.
Combine wet and dry: Add the dry ingredients to the wet on low speed.
Mix just until no dry streaks remain. If you like, fold in 1/2 to 3/4 cup chocolate chips or chunks.
Chill the dough: Cover the bowl and refrigerate for at least 2 hours, or up to 24. Cold dough is key for thick, crinkly cookies.
Prep your coating bowls: Fill one shallow bowl with 1/2 cup granulated sugar and another with 3/4 cup powdered sugar. Line two baking sheets with parchment.
Preheat the oven: Heat to 350°F (175°C).
Let the dough sit at room temp for 5–10 minutes if it’s rock-hard.
Scoop and coat: Scoop heaping tablespoon portions (about 1 1/2 tablespoons each). Roll into balls. Coat each ball first in granulated sugar, then generously in powdered sugar. Don’t skimp on the powdered sugar for bold crinkles.
Top with candy cane: Gently press a pinch of crushed candy cane on top of each ball.
This keeps the bits on the surface instead of disappearing inside the dough.
Bake: Place balls 2 inches apart on prepared sheets. Bake 10–12 minutes, until crinkled and just set at the edges. The centers should look slightly soft and puffy.
Cool: Let cookies rest on the sheet 5 minutes, then transfer to a rack.
They’ll firm up as they cool while staying fudgy inside.
Optional drizzle: Once cool, drizzle with melted white chocolate and sprinkle with extra candy cane for a bakery-style finish.