In a medium bowl, sift together flour, cocoa powder, baking soda, garam masala, and salt. Set aside.
In a large bowl, cream butter and sugar until fluffy. Add the eggs and beat until light colored. Add the molasses and vanilla and beat to combine.
Add the flour mixture in two batches, mixing after each addition.
Shape the dough into a ball, divide it in half, and wrap each half in plastic wrap. Place the dough in the refrigerator for at least 2 hours, up to overnight.
When you are ready to bake your cookies, preheat your oven to 350F.
Dust your counter top with flour and roll half of the dough into a ¼-inch thick rectangle, roughly 9x9 inches. (If the dough becomes too soft, chill it for a bit in the refrigerator).
Once rolled, cut the dough with your desired cookie cutters.
Place the cut cookies 1-inch apart on a lined baking sheet.
Re-roll the dough as necessary, until all the dough has been cut. Then, continue with the second half of the dough.
Bake the cookies for 10 minutes. (This time will keep them soft. If you like crisper cookies bake them for 12-14 minutes.)
Remove the cookies from the oven and let them cool on the baking sheet for 5 minutes before transferring them to a wire rack to cool completely before icing.
Notes
We updated this post and recipe in December 2016, with a few tweaks to make the cookie even better. Enjoy!