Heat oil in a large Dutch oven over high heat. Season the beef with salt and pepper, and sauté until browned on all sides. You may have to do this in batches – do not crowd the meat or it will steam instead of browning. This should take about 8-10 minutes per batch. Transfer the meat to a plate.
Add ground buffalo, season w/ salt and pepper and cook 3-5 minutes till browned. Transfer to the plate with the meat.
Add the onions, pepper and celery to the pan, scraping up any brown bits from the meat. Cook until soft, about 5-8 minutes.
Add the garlic and cook for 2 minutes.
Add the ancho powder, chipotle powder, chili powder, and cumin and cook an additional 1-2 minutes.
Add the beer and cook until completely reduced, about 10-15 minutes.
Return the meat and any accumulated juices to the pot, add the chicken stock, tomatoes, chipotle puree, honey and chocolate, and bring to a boil. Reduce the heat to low, cover the pan, and simmer for 2 hours.
Add the beans and continue cooking for 30 minutes. Remove from the heat, add the lime juice, and adjust seasonings.
Serve with sour cream, sliced avocado, grated cheddar, and cornbread