There’s something about a pot of lentil soup simmering on the stove that makes a house feel like home. Maybe it’s the smell of ham and vegetables cooking together, or maybe it’s knowing you’ll have leftovers for days. Either way, this soup has been my go-to when I need something warm and filling without spending hours in the kitchen.
I love how forgiving lentil soup is. You can toss everything in one pot and let it do its thing while you fold laundry or help with homework. The lentils get tender, the ham bone makes the broth taste rich, and somehow it all comes together into something that tastes like you worked way harder than you actually did.
This recipe uses ingredients I usually have on hand anyway. A bag of dried lentils, some carrots and celery, canned tomatoes. If you’ve got a ham bone sitting in your freezer from last weekend’s dinner, even better. Otherwise, the sausage adds plenty of flavor on its own.
Why You’ll Love This Lentil Soup with Ham
- High in protein and fiber – The combination of lentils, ham, and sausage makes this soup incredibly filling and nutritious, keeping you satisfied for hours.
- Budget-friendly – Lentils are inexpensive and the ham bone adds tons of flavor without breaking the bank. Plus, this recipe makes a big batch that’s perfect for meal prep.
- Simple ingredients – You probably have most of these pantry staples and basic vegetables on hand already, making it easy to throw together any day of the week.
- Hearty comfort food – This soup is the kind of warm, cozy meal that hits the spot on cold days and tastes even better as leftovers the next day.
What Kind of Lentils Should I Use?
For this soup, brown or green lentils are your best bet since they hold their shape well during the longer cooking time with the ham bone. Red or yellow lentils tend to break down and get mushy, which isn’t ideal if you want a heartier texture in your soup. You can find dried lentils in the dried beans section of any grocery store, and there’s no need to soak them beforehand like you would with other beans. Just give them a quick rinse in a strainer to remove any debris, and they’re ready to go straight into the pot.
Options for Substitutions
This soup is pretty forgiving when it comes to swaps, so here are some options if you need them:
- Ham bone: If you don’t have a ham bone, you can use 2-3 cups of diced leftover ham or even smoked turkey. You’ll lose some of that deep smoky flavor from the bone, but the soup will still taste great.
- Dried lentils: Green or brown lentils work best here since they hold their shape during cooking. Red lentils will turn mushy, so skip those for this recipe.
- Pork sausage: Feel free to use turkey sausage, chicken sausage, or even Italian sausage for a different flavor profile. You can also leave it out entirely for a lighter soup.
- Diced tomatoes: Crushed tomatoes or tomato sauce work fine here. If using sauce, you might want to add a bit more water to keep the right consistency.
- Green onions: Regular yellow or white onions work just as well. Use about 1/2 cup of chopped onion instead.
- Fresh parsley: Dried parsley works in a pinch – just use 2 teaspoons instead of the fresh amount. You can also skip it if you don’t have any on hand.
Watch Out for These Mistakes While Cooking
The biggest mistake when making lentil soup is not checking your lentils for small stones or debris before rinsing – take a minute to spread them on a plate and look them over, as biting into a pebble can ruin the whole meal. Another common error is adding salt too early, which can make the lentils tough and increase cooking time, so it’s better to add most of your salt after the lentils are tender. Don’t forget to skim off any foam or scum that rises to the top while simmering the ham bone, as this keeps your broth clear and clean-tasting. If your soup gets too thick as it sits, simply add more water or broth to thin it out – lentils continue absorbing liquid even after cooking, so the consistency will change as leftovers sit in the fridge.
What to Serve With Lentil Soup?
This hearty lentil soup is pretty filling on its own, but I love serving it with some warm, crusty bread or cornbread for soaking up all that good broth. A simple side salad with a tangy vinaigrette helps balance out the richness of the ham and sausage, or you could go with some roasted vegetables like Brussels sprouts or green beans. If you want to make it a full meal, add a side of buttered rolls or biscuits – they’re perfect for mopping up every last bit from your bowl. Some people like to sprinkle extra parmesan cheese on top and serve it with crackers on the side for a nice crunch.
Storage Instructions
Store: This lentil soup actually gets better after a day or two in the fridge. Store it in an airtight container for up to 5 days. The lentils will soak up some of the liquid as it sits, so you might want to add a splash of water or broth when you reheat it.
Freeze: Lentil soup freezes really well for up to 3 months. Let it cool completely, then portion it into freezer-safe containers or bags. I like to freeze individual servings so I can grab just what I need for a quick lunch or dinner.
Reheat: Warm the soup on the stovetop over medium heat, stirring occasionally and adding a bit of water if it’s too thick. You can also microwave individual portions for 2-3 minutes, stirring halfway through. Either way, make sure it’s heated all the way through before serving.
| Preparation Time | 15-20 minutes |
| Cooking Time | 120-150 minutes |
| Total Time | 135-170 minutes |
| Level of Difficulty | Medium |
| Servings | 6 servings |
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 1450-1600
- Protein: 80-95 g
- Fat: 45-60 g
- Carbohydrates: 170-190 g
Ingredients
For the broth:
- 6 cups water
- 1 meaty ham bone (for rich, flavorful broth)
For the soup:
- 1.25 cups dried lentils (brown or green lentils work best)
- 2 carrots (cut into 1/2-inch pieces)
- 2 celery ribs (diced into 1/4-inch pieces)
- 1/4 cup green onions (I use fresh from the produce section)
- 28 oz diced tomatoes (canned is fine)
- 2 tbsp fresh parsley (chopped just before serving)
- 12 oz pork sausage (removed from casing for easier browning)
- 1/2 tsp salt
- 1/2 tsp dried oregano
- 1/8 tsp black pepper
- 1/2 tsp garlic powder (freshly ground preferred for more flavor)
Step 1: Brown the Sausage and Prepare Aromatics
- 12 oz pork sausage
- 2 carrots, cut into 1/2-inch pieces
- 2 celery ribs, diced into 1/4-inch pieces
- 1/4 cup green onions
In a large pot or Dutch oven, break up the pork sausage into small crumbles and cook over medium-high heat, stirring occasionally, until the meat is browned and cooked through (about 8-10 minutes).
This develops deep, savory flavors that will anchor the entire soup.
Once cooked, transfer the sausage to a paper towel-lined plate to drain excess fat, leaving about 1 tablespoon of fat in the pot.
While the sausage cooks, dice the carrots into 1/2-inch pieces and the celery into 1/4-inch pieces, and chop the green onions—having everything prepped will keep the cooking smooth and efficient.
Step 2: Build the Broth Base with Ham Bone
- 6 cups water
- 1 meaty ham bone
Add the 6 cups of water and ham bone to the pot (with the reserved sausage fat still in it), and bring to a boil over high heat.
Once boiling, reduce the heat to medium-low, cover partially, and simmer gently for 1 hour and 30 minutes.
This long, slow cooking extracts all the rich, meaty collagen and flavor from the ham bone into the broth, creating the flavorful foundation of the soup.
After simmering, remove the ham bone, let it cool slightly, then pick off any meat clinging to the bone and set it aside; discard the bone itself.
Step 3: Add Lentils and Vegetables to the Broth
- 1.25 cups dried lentils
- carrots from Step 1
- celery from Step 1
- green onions from Step 1
- 28 oz diced tomatoes
- 1/2 tsp salt
- 1/2 tsp dried oregano
- 1/8 tsp black pepper
- 1/2 tsp garlic powder
Pour the dried lentils into the simmering broth along with the diced carrots, celery, and green onions.
Add the 28 oz of diced tomatoes (with their liquid), then season the soup with salt, garlic powder, oregano, and black pepper.
Stir well to combine and bring the mixture back to a gentle boil, then reduce heat to medium-low and cover partially.
Simmer for 30-40 minutes, stirring occasionally, until the lentils are tender but still hold their shape.
I find that freshly ground garlic powder really elevates the flavor compared to the pre-ground variety—if you have a spice grinder or fresh garlic, it’s worth the extra step.
Step 4: Finish and Serve the Soup
- cooked sausage from Step 1
- ham meat from Step 2
- 2 tbsp fresh parsley, chopped
Stir the cooked sausage from Step 1 and the ham meat picked from the bone in Step 2 back into the soup, breaking up any large chunks of sausage as you go.
Simmer uncovered for another 5 minutes to meld the flavors and ensure everything is heated through.
Taste and adjust seasoning if needed.
Just before serving, stir in the fresh chopped parsley for brightness and color.
This final addition of parsley shouldn’t be mixed in ahead of time—it stays fresher and more vibrant when added right at the end.

Traditional Lentil Soup with Ham
Ingredients
For the broth:
- 6 cups water
- 1 meaty ham bone (for rich, flavorful broth)
For the soup:
- 1.25 cups dried lentils (brown or green lentils work best)
- 2 carrots (cut into 1/2-inch pieces)
- 2 celery ribs (diced into 1/4-inch pieces)
- 1/4 cup green onions (I use fresh from the produce section)
- 28 oz diced tomatoes (canned is fine)
- 2 tbsp fresh parsley (chopped just before serving)
- 12 oz pork sausage (removed from casing for easier browning)
- 1/2 tsp salt
- 1/2 tsp dried oregano
- 1/8 tsp black pepper
- 1/2 tsp garlic powder (freshly ground preferred for more flavor)
Instructions
- In a large pot or Dutch oven, break up the pork sausage into small crumbles and cook over medium-high heat, stirring occasionally, until the meat is browned and cooked through (about 8-10 minutes). This develops deep, savory flavors that will anchor the entire soup. Once cooked, transfer the sausage to a paper towel-lined plate to drain excess fat, leaving about 1 tablespoon of fat in the pot. While the sausage cooks, dice the carrots into 1/2-inch pieces and the celery into 1/4-inch pieces, and chop the green onions—having everything prepped will keep the cooking smooth and efficient.
- Add the 6 cups of water and ham bone to the pot (with the reserved sausage fat still in it), and bring to a boil over high heat. Once boiling, reduce the heat to medium-low, cover partially, and simmer gently for 1 hour and 30 minutes. This long, slow cooking extracts all the rich, meaty collagen and flavor from the ham bone into the broth, creating the flavorful foundation of the soup. After simmering, remove the ham bone, let it cool slightly, then pick off any meat clinging to the bone and set it aside; discard the bone itself.
- Pour the dried lentils into the simmering broth along with the diced carrots, celery, and green onions. Add the 28 oz of diced tomatoes (with their liquid), then season the soup with salt, garlic powder, oregano, and black pepper. Stir well to combine and bring the mixture back to a gentle boil, then reduce heat to medium-low and cover partially. Simmer for 30-40 minutes, stirring occasionally, until the lentils are tender but still hold their shape. I find that freshly ground garlic powder really elevates the flavor compared to the pre-ground variety—if you have a spice grinder or fresh garlic, it's worth the extra step.
- Stir the cooked sausage from Step 1 and the ham meat picked from the bone in Step 2 back into the soup, breaking up any large chunks of sausage as you go. Simmer uncovered for another 5 minutes to meld the flavors and ensure everything is heated through. Taste and adjust seasoning if needed. Just before serving, stir in the fresh chopped parsley for brightness and color. This final addition of parsley shouldn't be mixed in ahead of time—it stays fresher and more vibrant when added right at the end.







