Place a large pot or dutch oven over medium-high heat. Add olive oil. When hot, season beef with salt and pepper and add to pot. Sear on all sides. Add half of the onion to the pot and cook two minutes more. Remove dutch oven from heat and set aside while you make the sauce.
3 pounds boneless chuck roast, 2 tablespoon olive oil, 1 medium onion, ½ teaspoon black peppercorns, 1 teaspoon salt plus more to taste
Remove the stems and seeds from the dried chile peppers. In a medium pot, add the chiles, tomatoes, half onion, garlic cloves, cinnamon stick, and bay leaf. Pour in enough water to cover all ingredients, about 4 to 5 cups. Place on stove over medium-high heat and bring to boil. Once boiling, reduce heat to low and simmer uncovered for 10 minutes.
3 dried guajillo chiles, 2 dried ancho chiles, 2 roma tomatoes, 1 medium onion, 4 cloves garlic, 1 ½ inch cinnamon stick, 1 bay leaf
Add remaining seasonings to the sauce pot: dried oregano, cumin seeds, dried thyme, and salt and peppercorns. Give it a stir and simmer for 10 minutes more. Remove from heat and allow to cool for a couple minutes.
1 teaspoon dried oregano, 1 teaspoon dried thyme, ½ teaspoon cumin seeds
Strain the contents of the sauce pot into a large wire-mesh strainer over a large bowl. Remove the bay leaf and cinnamon stick and discard. Place remaining solids into a blender.
Add 2 cups of the broth from the sauce into the blender, plus 1 cup of beef broth. Whirl until well blended. Taste and add more salt if needed and blend just until mixed in.
1 teaspoon salt plus more to taste, 2 cups beef broth, ½ teaspoon black peppercorns
Place the pot with the beef and onion back on the stove at medium heat. Pour the contents of the blender over the beef. If the sauce is not enough liquid to cover the beef, pour in enough beef broth to cover. Bring to a simmer, then cover and lower heat. Simmer until meat is tender and shreds easily, about 2½ to 3 hours.