To a large saucepan add the oil and heat over medium heat. Add the onion, celery, pepper and carrots. Cook for about 5 minutes until they start to soften.
Add the meat and break up and cook until browned. Stir in the garlic and cook for 2 minutes.
Stir in the tomato paste/concentrate until well mixed into the meat and cook for 1 minute.
Stir in the salt, pepper, chili powder, cumin, oregano until well combined. Cook, stirring often for about 2 minutes to bring out the flavors of the spices.
Pour in the beer and stir to deglaze the pan scraping all the bits from the bottom of the pan. Simmer for about 3 minutes until the liquid is reduced.
Add the diced tomatoes, tomato puree/passata and beef stock/broth and simmer, uncovered for 30 minutes.
Stir in the cooked beans. Serve hot with your favorite toppings.