A good bowl of chili is the kind of meal that makes everything feel right again. Warm, rich, and spicy in just the right way—it’s comfort food at its finest.
This recipe takes that classic, crowd-pleasing chili and layers it with real depth of flavor using fresh chilis, slow-cooked aromatics, and one secret touch that makes all the difference: a bit of dark chocolate.
The Secret to a Great Chili
You don’t need any fancy tricks to make a great chili, but there are a few simple details that change everything. The most important one? Use actual chilis, not just chili powder.
When you toast and blend dried chilis—like ancho, guajillo, or pasilla—you get a deep, smoky complexity that ground spices can’t fully match. I soak them in hot water, blend them into a thick paste, and stir that right into the base. It gives the chili its signature body and color.
And yes, the rumor’s true: adding a bit of dark chocolate makes the flavor richer and rounder. You won’t taste “chocolate” in your chili, but you’ll notice the subtle depth it adds, balancing out the acidity of tomatoes and the spice of the chilis.
What Meat Works Best
I usually reach for ground beef because it gives the chili that classic, hearty texture. You can also use a mix of ground beef and pork for a bit of extra richness, or even cubed chuck roast if you want something chunkier and stew-like.
If you’re cooking for a lighter crowd, ground turkey or chicken also works beautifully, just make sure to sauté it with enough oil to keep it juicy.
Choosing and Cooking the Beans
Beans are another key part of the chili conversation. You can go all-meat if that’s your thing, but for a balanced, filling bowl, I like to use a mix of kidney beans and black beans.
If you’re using dried beans, soak them overnight, drain, then simmer until tender before adding them to your chili.
Canned beans are perfectly fine for convenience. Remember to rinse them first to get rid of extra sodium and starch.
Selecting Spices
Chili is all about layering spices. I like to build flavor with ground cumin, smoked paprika, coriander, and oregano.
Start small, then adjust toward the end once everything has simmered. The heat from the chilis and the warmth from these spices should complement each other, not compete.
For an even deeper note, stir in a splash of coffee or a teaspoon of cocoa powder (if you’re skipping chocolate). It’s those little hidden flavors that make your chili taste like it’s been simmering all day.
Tips for Cooking and Prepping
When I make chili, I always brown the meat in batches. Crowding the pan steams it instead of searing it. Those caramelized bits at the bottom are where the best flavor comes from.
Once the meat’s browned, I add onions, garlic, and the chili paste, letting it all cook together for a few minutes before adding tomatoes and broth. This quick sauté step “blooms” the spices and makes everything taste richer.
And don’t rush the simmer. Letting the chili bubble gently for at least an hour gives the flavors time to marry and the sauce to thicken naturally.
What to Serve It With
Chili is incredibly versatile. You can serve it over steamed rice, buttered cornbread, or baked potatoes for a hearty meal. I also love topping mine with shredded cheese, a dollop of sour cream, and fresh cilantro.
If you’re meal-prepping, it pairs beautifully with roasted vegetables or a quick green salad on the side. Chili keeps well and tastes even better the next day, so make a big batch and enjoy it all week.
Hearty Homemade Chili
Image credit: @skinnytaste
Ingredients
For the Chili Base
- 2 tablespoons olive oil
- 1 pound ground beef (or half beef, half pork)
- 1 large onion, diced
- 4 cloves garlic, minced
- 1 tablespoon tomato paste
- 1 can (14 oz / 400 g) crushed tomatoes
- 2 cups beef broth
For the Chili Paste
- 2 dried ancho chilis
- 2 dried guajillo chilis
- 1 cup hot water (for soaking)
- 1 teaspoon cumin
- 1 teaspoon smoked paprika
- ½ teaspoon oregano
For the Beans and Finishing
- 1 can of kidney beans, drained and rinsed
- 1 can black beans, drained and rinsed
- 1 ounce dark chocolate (70% cocoa)
- Salt and pepper, to taste
Optional Toppings
- Shredded cheese
- Sour cream
- Fresh cilantro
Instructions
- Prepare the chili paste. Toast dried chilis briefly in a dry pan, then soak in hot water for 15 minutes until softened. Blend with the soaking liquid and spices into a smooth paste.
- Brown the meat. In a large pot, heat the oil and cook the ground beef until browned. Remove and set aside.
- Build the base. In the same pot, sauté onions and garlic until fragrant. Stir in tomato paste and chili paste, cooking for 1–2 minutes.
- Simmer. Return the meat to the pot, add tomatoes, broth, and beans. Simmer gently for 1 hour, stirring occasionally.
- Add the secret touch. Stir in dark chocolate until melted and smooth. Season with salt and pepper to taste.
- Serve. Ladle into bowls and top with cheese, sour cream, and cilantro. Serve hot with rice or cornbread.
Featured image credit: @my_food_adventures
