Hearty Beef Chili That’s Ready in Under an Hour
This beef chili recipe is the one I reach for when I want a big pot of something deeply savory, with just enough heat to make you look forward to the next spoonful.

Everything happens in a single pot, the simmer does most of the work, and the leftovers are even better the next day.
What Makes This Chili So Good
I like a chili that tastes bold without being aggressive. A little cocoa powder rounds out the beef, and a mix of chili powder and cumin gives it that classic backbone.
The texture is what keeps me coming back: tender beans, ground beef that stays distinct, and a sauce thick enough to coat the spoon. It holds up to a heap of shredded cheese and sour cream, but it doesn’t need them to shine.
Ingredients

- 2 tbsp vegetable oil: for browning the beef in batches
- 2 lbs ground beef (80/20): the fat keeps it moist and flavorful
- 1 large yellow onion, diced
- 1 green bell pepper, diced
- 4 garlic cloves, minced
- 2 tbsp chili powder
- 1 tbsp ground cumin
- 1 tsp smoked paprika
- 1 tsp dried oregano
- 1/2 tsp cayenne pepper: use less if you prefer mild heat
- 1 tbsp unsweetened cocoa powder
- 2 tbsp tomato paste
- 1 (15 oz) can kidney beans, drained and rinsed
- 1 (15 oz) can pinto beans, drained and rinsed
- 1 (28 oz) can crushed tomatoes
- 2 cups beef broth: low-sodium so you control the salt
- 1 tsp salt: plus more to taste
- 1/2 tsp black pepper
Variations / Substitutions
- Different protein: Ground turkey or a 50/50 beef and turkey blend both work; the chili will be a little leaner and milder.
- Switch up the beans: Black beans or cannellini beans are great here, and using one can of each keeps things interesting.
- Amplify the heat: A minced chipotle in adobo or a fresh jalapeño with the onion brings a smoky, sharp warmth.
- Skip the cocoa: It doesn’t taste like chocolate, just deepens the meaty notes, but the chili still tastes full without it.
- Make it richer: A splash of stout or dark beer in place of some broth adds a malty layer; reduce the broth by 1/2 cup and add 1/2 cup beer after the spices.
If you like a white chili, try our Turkey and White Bean Chili.
How to Make Beef Chili
Step 1: Brown the Ground Beef

Heat 1 tablespoon of the oil in a large Dutch oven or heavy pot over medium-high heat. Add half the beef and cook for about 5 minutes, breaking it into large crumbles with a wooden spoon, until the pieces are deeply browned and no longer pink. Transfer to a plate and repeat with the remaining oil and beef.
You want the beef to get dark golden, almost crusty in spots. That browning is what builds the savory base, so don’t crowd the pot or stir it too soon. If the meat steams instead of sears, raise the heat a bit.
Step 2: Soften the Aromatics

Keep the pot over medium heat and add the onion and bell pepper. Cook for 6 to 8 minutes, stirring now and then, until the onion is soft and translucent. Toss in the garlic and stir for 1 minute more, just until fragrant.
The vegetables will pick up any browned bits stuck to the bottom. That’s exactly what you want. The onion should look glossy and pale gold, not raw and white.
Step 3: Bloom the Spices and Build the Sauce

Stir in the chili powder, cumin, smoked paprika, oregano, cayenne, cocoa powder, and tomato paste. Keep stirring for 1 minute to toast the spices until they smell warm and a little smoky. Pour in the crushed tomatoes and beef broth, then add the salt and pepper. Bring the liquid to a strong simmer.
This step wakes up the dried spices and melds the tomato paste into the base. The sauce will look a bit thin at first, but it thickens as it simmers. Use a flat wooden spatula to scrape up any clingy bits from the pot floor.
Step 4: Combine and Simmer

Return the browned beef to the pot along with any juices on the plate. Stir in the kidney beans and pinto beans. Let the chili come back to a simmer, then lower the heat so it gently bubbles for 30 to 40 minutes, stirring occasionally.
After about 20 minutes, you’ll see the surface go from loose and brothy to glossy and concentrated. Taste the broth and adjust the salt. The chili is ready when the liquid has reduced enough to form a tight trail behind your spoon.
Step 5: Ladle Into Bowls and Load Up the Toppings

Spoon the chili into deep bowls while it’s piping hot. Top with shredded sharp cheddar, a dollop of sour cream, sliced scallions, or whatever you like, and serve right away.
The steam should curl up from each scoop, and the toppings will start to melt on contact. A side of warm cornbread or tortilla chips finishes the meal.
A Few Tips for the Best Chili
- Really brown the meat: Take your time in Step 1. A gray, steamed crumble gives you a flat-tasting chili. Go for dark seared edges.
- Let it sit a day: Chili tastes even deeper the next day. Make it on a Sunday and reheat it for a quick weeknight dinner.
- Watch the salt: If your beef broth or canned tomatoes already have salt, you may need less. Taste at the end of simmering and adjust.
- Keep the lid off: Simmer uncovered so the liquid reduces and the flavors concentrate. A lid traps steam and leaves you with soup.
Simmer times for different consistencies:
| Texture you want | Total simmer time | Look for |
|---|---|---|
| Thinner, soupier | 25 to 30 mins | Sauce just coats the back of a spoon |
| Classic chili | 35 to 40 mins | A clean trail when you drag the spoon |
| Extra thick, dry | 45 to 50 mins | Beef and beans just peek through |
Storing Leftovers
- Refrigerate: Cool the chili completely, then store in a sealed container for up to 4 days.
- Reheating: Warm gently on the stove over medium-low with a splash of water or broth to loosen it. A microwave works fine too, in 1-minute bursts, stirring between.
- Serve cold: Not recommended; the fat solidifies and the texture suffers.
What to Serve With Beef Chili
A skillet of golden cornbread is the classic for a reason: the sweet, crumbly edge offsets the smoky spice. For something quicker, a pile of tortilla chips and a quick guacamole give you crunch and creamy coolness. If you want to stretch the meal, spoon the chili over baked potatoes or a bowl of rice; the starch soaks up the sauce and makes it heartier.
Frequently Asked Questions
Can I make this in a slow cooker?
Yes. Brown the beef and aromatics on the stove first, then transfer everything to a slow cooker. Cook on low for 6 to 8 hours or high for 3 to 4 hours.
My chili tastes a little bitter. What went wrong?
The chili powder or garlic might have burned during the spice-blooming step. Next time, keep the heat at medium and stir constantly. You can mellow bitterness now with a small pinch of sugar or a squeeze of lime.
Do I have to use cocoa powder?
No, it’s just a trick for roundness. Leave it out and the chili will still taste full and meaty.
How can I make it spicier without changing the flavor?
Add a minced fresh jalapeño or serrano with the onion, or stir in a splash of hot sauce at the end. Cayenne is already in the base, so this layers the heat without shifting the main spices.

Beef Chili Recipe
Ingredients
Method
- Brown the beef in two batches with the oil over medium-high heat, then set aside.
- Sauté the onion and bell pepper in the same pot until soft, add the garlic, and cook 1 minute.
- Stir in the spices, cocoa, and tomato paste, cook for 1 minute, then pour in the crushed tomatoes and broth with salt and pepper.
- Return the beef to the pot with the beans, bring to a simmer, and cook uncovered for 30 to 40 minutes, stirring occasionally.
- Ladle into bowls, add your favorite toppings, and serve hot.
