Heat the oil in a large pot over medium; add the meat, season with salt and pepper, and cook until browned. Remove meat from pan and drain off all but three tablespoons of fat.
Heat the pan over medium-high. Add the onion and garlic; cook for about a minute. Add the vegetables; cook for 10 minutes or until they start to caramelize and dry out.
Add the seasonings and stir, then add the tomatoes and beans with enough of their liquid to submerge everything (use the stock if there isn't enough). Bring the mixture to a boil and cook about 15 minutes. Garnish with cilantro. Serves six.