There are two types of chili recipes out there. There's the type that's made with ground beef, diced peppers and onions, and a store-bought spice package; and then there's the type that doesn't just have you brown the meat, but roast it, calls for more than one spicy pepper, not just bell, and uses things like beer, coffee, and Mexican chocolate to create a bold, flavorful chili with moist and tender meat. This recipe is the latter.
Preheat the oven to 500 degrees.
Place the jalapeño, ancho, and poblano peppers on a baking sheet and roast in the oven until the skins are soft enough to peel, about 20 minutes.
Meanwhile, cook the bacon in a large pan until cooked through. Using a slotted spoon, remove the bacon from the pan, reserving the drippings, and return the pan to medium-high. Add the beef to the pan and brown on all sides. Remove the beef from the pan and set aside.
Add the onion to the pan and sauté until tender, about 5-7 minutes. Add the garlic and sauté until fragrant, about 1 minute. Add the bacon, beef, tomatoes, kidney beans, coffee, beer, cumin, cinnamon, coriander, cayenne, and oregano to the pan, stir to combine, and let simmer.
In a food processer, add the roasted chiles and the chipotle in adobo and pulse until chinky. If the mixture is too thick, add some water. Slowly add the pepper mixture to the chili pot, checking the seasonings as you go to make sure the level of heat is to your liking. Season with salt and bring to a boil. Reduce the heat and simmer until the beef is fork tender, about 3-5 hours. If the chili becomes too dry while simmering, add more water.
When the beef is cooked through, add the Mexican chocolate and the cilantro and serve.