My Ultimate Homemade Chili Recipe
This ultimate chili recipe is hearty and full of flavor—made with ground beef, Italian sausage, warm spices, and beans, it’s the perfect soup for game day, meal prep, or a cozy weeknight dinner!

Chili is one of those recipes that’s highly debated (beans or no beans? tomatoes or no tomatoes?), and I feel like everyone thinks their version is the best. My chili is a little different than your standard recipe, but after several small tweaks, I finally landed on a version that’s perfect for me. It’s bold, hearty, and slow-simmered to perfection, with layers of flavor from toasted spices, tomato paste, and a mix of beef and Italian sausage!
Whether you’re cooking for a crowd, prepping meals for the week, or just craving a cozy dinner, this chili delivers every time. It’s the kind of recipe that tastes even better the next day, and the leftovers (if you have any) freeze beautifully.

The Secret to Making the Best Chili
In my opinion, the secret to an amazing chili lies in the order that you cook everything.
- Ground beef and sausage. I always like to sear off my proteins first, since this leaves a layer of caramelized sugars on the bottom of the pan (called fond) that are full of flavor. Once we go in with our aromatics, the vegetables absorb all of those brown bits.
- Spices and aromatics. Next up is the spices. A lot of people just mix their spices into soup as they go, but I prefer to bloom them in a bit of fat. This essentially toasts the spices to unlock and maximize their flavor.
- Tomato paste. Once the spices are done I’ll add in the tomato paste. Before moving on to the next step, however, we’ll cook it down for a few minutes until darkened in color. This is a step I see a lot of home cooks skip, but taking the time to reduce the tomato paste takes away it’s sharp, raw flavor and makes it so much more umami.
- Flavor enhancers. A lot of chefs have secret ingredients in their chili recipes, but I like to add a tablespoon each of brown sugar and cocoa powder—these are optional but enhance the stew’s complexity without it tasting sweet or chocolatey.
- Simmering. Probably the most important ingredient in this recipe is time—just like any good stew, this chili needs at least two hours to fully develop its flavor, which allows the tomatoes to mellow out, thicken, and meld with the beans and spices.
Ingredients You’ll Need
I know the ingredient list might look daunting, but most of what you need for this chili is shelf-stable and lasts for months in the pantry! Here’s everything you should put on the grocery list:
- Italian sausage. Adds richness and built-in seasoning from the fennel for a deeper flavor than ground beef alone. I use mild Italian sausage, but feel free to use spicy sausage if you like the extra heat.
- 85% lean ground beef. The percentage refers to the amount of lean meat relative to fat (in this case, 85% lean meat to 15% fat). This particular ratio offers a flavorful balance for chili that keeps it tender and juicy without getting overly greasy.
- Baking soda (optional). I know this is an odd ingredient, but this is a trick I learned from Once Upon a Chef and have been using it ever since. Adding baking soda to your ground meat actually raises its pH, allowing it to brown quicker and retain moisture.
- Vegetable oil. Prevents sticking and helps achieve a deep, golden-brown sear on the meat without adding extra flavor.
- Yellow onion, red bell pepper, and jalapeño. To form the aromatic base of the chili.
- Chili powder, cumin, smoked paprika, dried oregano, dried coriander, and cayenne. A mix of smoky and earthy spices that define the chili’s flavor.
- Tomato paste. Instead of crushed tomatoes alone, tomato paste is added to concentrate flavor, thicken the chili, and add umami once caramelized.
- Crushed tomatoes and fire-roasted tomatoes. These form the body of the chili. Instead of regular diced tomatoes, I like to use fire-roasted for an extra boost of smokiness and texture.
- Kidney beans and pinto beans. I know beans and chili are a heavily debated topic, but I like to add them for their hearty texture and nutrition, plus their liquid naturally thickens the stew.
- Beef broth. Adds savory depth and helps balance the tomatoes.
- Molasses and cocoa powder. Optional flavor boosters that round out the acidity and spice. It might sound odd to some people, but chocolate and chili is a classic pairing used in Latin American cuisine—I promise it doesn’t make the soup taste like chocolate!

Recipe Variations and Ingredient Substitutions
If you don’t have one or more of the ingredients on hand, here’s a quick guide to some substitutions:
- Meat. If preferred, you can swap Italian sausage with chorizo for extra spice, or use all ground beef for a more traditional flavor. Ground turkey or chicken can also be used for a lighter version—just be sure to avoid 99% lean meat, as this will have a dry and rubbery texture after cooking.
- Beans. Black beans, cannellini beans, or even chickpeas work well in place of kidney or pinto beans. You can also omit the beans entirely for a Texas-style chili and add extra meat instead.
- Crushed tomatoes. Whole peeled tomatoes (crushed by hand) can replace the tomatoes in this recipe for a more rustic texture.
- Broth. If needed, chicken broth or vegetable broth can be used in place of beef broth.
- Cocoa powder. For a brighter and more traditional acidity, substitute the cocoa powder with 1 tablespoon of lime juice.
- Heat level. Increase jalapeños, cayenne, or add chipotle powder for more spice.
Recipe FAQs
- Why does this recipe have baking soda? Baking soda raises the pH of the meat, which helps it retain moisture and accelerate browning.
- Does cocoa powder make it taste like chocolate? No—it simply deepens the flavor and adds richness. The chili will not taste sweet or chocolatey, but you can always omit it if necessary.
- Why brown the meat in batches? Crowding the pot traps steam, which prevents the meat from browning properly. Cooking in batches creates a flavorful fond on the bottom of the pan that adds depth to the final stew.
- Why cook the tomato paste before adding liquid? Caramelizing tomato paste removes raw acidity and intensifies its savory, umami flavor.
- Can I make this chili ahead of time? Yes—chili tastes even better the next day and is an ideal make-ahead dish!
- How do I thicken chili? If you like your chili with a thicker texture, simply simmer the pot uncovered until it reaches your desired consistency. If at any point it gets too thick, add more beef broth.
- Is this chili spicy? This recipe is moderately mild as written, but the heat level can be adjusted by adding or removing the jalapeño and cayenne pepper.

Serving Suggestions
This chili is hearty enough to eat on its own, but these toppings and sides take it to the next level:
- Classic mix-ins: Shredded cheddar or Monterey Jack, sour cream, lime wedges.
- Fresh toppings: Lime wedges, diced avocado, or chopped cilantro.
- Sides: Fritos, tortilla chips, or cornbread (or if you have any stale leftovers, make my favorite cornbread croutons)!
- Serving ideas: Spoon over baked potatoes, rice, hot dogs, or nachos.
Storage & Freezing Instructions
Chili is one of the best recipes to make ahead and freeze—often I’ll make a double batch just for this purpose!
- Refrigerator. Allow the chili to cool completely, then keep in the fridge for up to 5 days.
- Freezer. If stored in an airtight container, homemade chili may be frozen for up to 3 months.
- Reheating. Thaw the chili overnight in the fridge and gently reheat on the stove until hot.
If you guys try out this recipe, be sure to tag me on Instagram at @gourmae.cafe—I love seeing your recreations!

My Ultimate Homemade Chili Recipe
Ingredients
- 1 pound mild Italian sausage
- 1 pound 85% lean ground beef
- 2 teaspoons kosher salt
- ¾ teaspoon baking soda (optional)
- 2 tablespoons neutral oil
- 1 large yellow onion, small diced
- 1 red bell pepper, small diced
- 1 jalapeño (optional), small diced
- 6 cloves fresh garlic, minced
- 1 (6-ounce can) tomato paste
- 3 tablespoons chili powder
- 1 tablespoon ground cumin
- 1 tablespoon smoked paprika
- 2 teaspoons dried oregano
- 1 teaspoon ground coriander
- A dash cayenne pepper (optional, for extra heat)
- 1 (28-ounce can) crushed tomatoes
- 2 (14.5-ounce cans) fire-roasted diced tomatoes
- 2 cups beef broth, plus more as needed
- 1 (15-ounce can) kidney beans, with liquid
- 1 (15-ounce can) pinto beans, with liquid
- 1 tablespoon light brown sugar or molasses (optional—for a sweeter chili)
- 1 tablespoon unsweetened cocoa powder (optional) for a brighter acidity, serve the chili with lime wedges or substitute the cocoa with 1 tablespoon of lime juice at the end of cooking
Instructions
- Place the ground beef, Italian sausage, and salt in a large bowl. Mix the baking soda with 1 tablespoon of water and pour over the meat. Using your hands, mix everything until evenly combined, then set aside to rest at room temperature for 20 minutes.
- In the meantime, chop the yellow onion, bell pepper, and jalapeño (keep the seeds for extra heat, if desired).
- Heat 2 tablespoons of neutral oil in a large pot over medium heat. Once hot, add the ground meat to the pot in quarter-sized pieces. You may need to do this step in batches, since overcrowding the pan will prevent a sear from forming.
- Let the meat develop a golden-brown crust on the bottom before stirring, about 1-2 minutes. Once browned, use a wooden spoon to flip and break the meat into smaller pieces. Cook until the beef is browned all over—it does not have to be fully cooked through, since the meat will finish as the chili simmers.
- Using a slotted spoon, transfer the meat to a dish lined with paper towels. Set aside to drain.
- To the same pot, add the onions, red bell pepper, and jalapeño with a pinch of salt. Add more oil, if needed. Stir frequently over medium heat until the onions are softened and translucent, 5 minutes.
- Add in the minced garlic and cook for 1 minute more. Sprinkle over the chili powder, cumin, smoked paprika, oregano, coriander, and cayenne (if using). Stir frequently for 1-2 minutes until fragrant, being careful not to let the spices burn.
- Mix in the tomato paste until well combined and cook for 2-3 minutes, stirring constantly, until the paste takes on a darker color and begins to stick to the bottom of the pan.
- Carefully pour in the crushed tomatoes, fire-roasted tomatoes, and beef broth, scraping the bottom of the pot to ensure everything is combined. Stir in the kidney beans and pinto beans along with their liquid, then add the brown sugar and cocoa powder (if using). Bring to a boil.
- Reduce the heat to low and simmer, covered, for 2 hours, stirring occasionally. Taste and adjust for seasoning, if necessary. For a thinner chili, stir in more beef broth. For a thicker consistency, let the chili simmer, uncovered, until the desired consistency is reached. Serve hot with shredded cheese, sour cream, lime wedges, and Fritos or cornbread.
