In a large saucepan, bring the beef stock and ancho chiles to a boil. Lower the heat and simmer until softened, about 10 minutes. Transfer to a food processor and puree.
Meanwhile, in a large Dutch oven or soup pot, heat the oil over medium-high heat until smoking. Add the bacon and cook until crisp, 2 to 3 minutes. Add the beef, increase the heat to high and cook until browned, about 5 minutes. Lower the heat to medium, add the yellow onion and garlic and cook until softened, about 5 minutes; season with pepper.
Stir the tomato paste into the chili for 1 minute. Stir in the ancho liquid, black beans, tomatoes, coffee, paprika, coriander, cocoa and cinnamon and simmer for 5 minutes; season with salt.
Serve the chili in shallow bowls. Top with the cheese and red onion.