Heat olive oil over medium flame in a large sauté pan. Add the ground meat and brown, breaking up with a wooden spoon and stirring occasionally, about 5 minutes. Drain the meat on a paper towel-lined plate, then return it to the pan.
Add the chile powder, cumin, cayenne, black pepper, wine, stock, coffee, soy sauce and onion. Stir together and begin to heat. Stir in the tomato paste. Add the beans and bay leaf. Stir.
Simmer gently for half an hour, checking from time to time to make sure it isn’t getting too dry. If necessary, adjust the liquid with wine or stock.
When it tastes all melded together, it’s ready—at least 1/2 hour. Discard the bay leaf, adjust seasonings with salt and serve.