An hour before you plan to cook, take the beef out of the fridge. Combine the salt, pepper, cumin, thyme and rosemary in a bowl; massage the spicy mixture evenly over the roast.
While the meat comes to room temperature, assemble the other ingredients. Slice each onion into 8 wedges and peel and crush the garlic cloves. Slice each Serrano from just below the stem to the tip (so it is split but stays intact). In a large measuring cup, whisk together the beef broth, instant espresso, and paprika until blended.
Preheat oven to 325°F. When you’re ready to cook, heat the olive oil in a large Dutch oven over medium-high heat. When the pan is very hot but not smoking, add the roast and cook until it is crusty and rich, deep brown on all sides. Transfer meat to a plate, lower the heat to medium and add the onions, garlic, and chiles. Cook, stirring, until coated with the beef fat and the onions has softened. Add the broth mixture, tomatoes, whiskey, and bay leaves, stirring up any browned bits. Return the roast to the pan and nestle into the liquid.
Cover the pot and place in the oven. Roast for 1 hour, then carefully turn roast over and return to oven for another hour.
Remove pot from oven, tuck the carrots around the meat, cover, and cook for a final hour, or until the vegetables are tender. Remove the pot from the oven and allow the meat to rest, uncovered, for at least 30 minutes or up to one hour.
To serve, use a fork and tongs to remove pieces of the meat (it will be very tender) to plates. Surround with vegetables and a generous portion of the juice.