Wild Rice Soup
This stovetop wild rice soup has tender dark grains, diced ham, carrots, celery, and onion in a creamy broth that coats a spoon but still flows easily. A butter-flour roux gives the broth body without making it heavy.
Cook the rice separately so it can become tender without soaking up the soup base. Add the milk and half-and-half near the end, then warm them gently to keep the broth smooth.
Ingredients for Wild Rice Soup

Makes 6 servings. Allow about 15 minutes to prep and 40 to 50 minutes to cook, or 55 to 65 minutes total. The rice can cook while you prepare the soup base.
- 3/4 cup uncooked wild rice (about 125g)
- Water or low-sodium chicken broth, as directed on the rice package
- 4 tablespoons unsalted butter (about 55g)
- 1 medium yellow onion, finely diced (about 1 cup; 150g)
- 2 medium carrots, diced into 1/4-inch pieces (about 1 cup; 130g)
- 2 celery ribs, diced into 1/4-inch pieces (about 3/4 cup; 90g)
- 2 garlic cloves, minced
- 1/3 cup all-purpose flour (about 40g)
- 4 cups low-sodium chicken broth, plus 1/2 to 1 cup more as needed
- 1 teaspoon dried thyme
- 1 bay leaf
- 1 1/2 cups fully cooked ham, diced into 1/4-inch pieces (about 225g)
- 1 cup whole milk
- 1 cup half-and-half
- Kosher salt and black pepper, to taste
Use low-sodium broth and wait until the end to add most of the salt: ham varies considerably in saltiness.
How to Make Wild Rice Soup

- Cook the rice: Rinse the wild rice in a fine-mesh strainer. Cook it in a covered medium saucepan with water or broth according to the package directions. True wild rice usually takes 35 to 45 minutes; start checking at the earliest package time. The grains should be tender, with many split open and no hard centers. Drain any excess liquid.
- Soften the vegetables: Melt the butter in a 5- to 6-quart Dutch oven or heavy soup pot over medium heat. Add the onion, carrots, celery, and a small pinch of salt. Cook for 7 to 9 minutes, stirring occasionally, until the onion is translucent and the vegetables begin to soften. Lower the heat if they start to brown. Stir in the garlic and cook just until fragrant.
- Make the roux: Reduce the heat to medium-low. Sprinkle the flour over the vegetables and stir constantly for 1 minute, until no dry flour remains. Gradually whisk in 4 cups of broth, scraping the bottom and corners of the pot to prevent lumps.
- Simmer the vegetables: Add the thyme and bay leaf. Bring to a gentle simmer with small, steady bubbles. Simmer partially covered or uncovered for 12 to 15 minutes, checking after 10 minutes. The carrots and celery should be fork-tender but still hold their shape. Remove the bay leaf.
- Add the ham and rice: Stir in the ham and cooked wild rice. Simmer for 3 to 4 minutes, stirring occasionally, until heated through.
- Finish with dairy: Reduce the heat to low. Stir in the milk and half-and-half and warm for 4 to 6 minutes, stirring often along the bottom of the pot. Keep the soup steaming but not boiling. Add black pepper, then taste before adding more salt.
- Adjust and serve: The broth should lightly coat a spoon while still flowing easily. If it is too thick, stir in warm broth a little at a time. Let stand off the heat for 5 minutes, then ladle into deep bowls.
Why Cook the Wild Rice Separately?
Wild rice absorbs a substantial amount of liquid as it cooks. Cooking it separately lets you add tender grains near the end without reducing the creamy soup base too far. True wild rice and wild-rice blends can have different cooking times, so follow the package directions and check for tender, split grains rather than relying on the clock alone. A blend works if it contains visible dark wild rice grains.
How to Keep the Soup Creamy
Once the milk and half-and-half are in the pot, keep the heat low and stir along the bottom. Boiling can scorch the soup or make the broth look grainy. Stop heating when it is steaming and evenly creamy.
The soup will thicken as it stands. Add warm broth a few tablespoons at a time if it begins to mound on the spoon instead of settling back into the bowl. Taste again after thinning.
Wild Rice Soup Variations
- Chicken or turkey: Replace the ham with 2 cups cooked chicken or turkey. Add it with the rice so it only needs to heat through.
- Meatless: Omit the ham, use vegetable broth, and add white beans or 8 ounces sliced mushrooms. If using mushrooms, sauté them with the vegetables until their moisture cooks off.
- Gluten-free: Omit the flour. Whisk 3 tablespoons cornstarch with 1/4 cup cold milk or broth. Once the vegetables are tender, stir the slurry into the hot broth and cook until thickened, then add the ham, rice, and remaining dairy.
Serving Wild Rice Soup
Serve in deep bowls with crusty bread or dinner rolls. For another hearty rice-based dinner, try this stuffed pepper soup with beef and rice.
Storage and Reheating
Cool leftovers promptly and refrigerate in an airtight container within 2 hours. Use within 4 days. The rice will absorb broth overnight, so expect the soup to be thicker the next day.
Reheat on the stovetop over medium-low heat, stirring often. Add broth or water gradually until the soup is creamy and spoonable again, then taste and adjust the seasoning. Do not boil. To prepare ahead, cook the rice and chop the vegetables up to 1 day in advance; refrigerate them separately.
You can freeze the soup for up to 3 months in containers with room for expansion, though the dairy may separate slightly after thawing. Thaw overnight in the refrigerator and reheat gently while stirring. For better texture when making a batch specifically to freeze, freeze the soup before adding dairy, then stir in fresh milk and half-and-half as you reheat it.
Nutrition
Approximate nutrition per serving, based on 6 servings: 320 calories, 15g protein, 16g fat, and 30g carbohydrates. Approximate values per 100g of finished soup: 75 calories, 4g protein, 4g fat, and 7g carbohydrates. Values vary with the ham, broth, rice-cooking liquid, and any extra broth added.
Equipment
- Fine-mesh strainer
- Medium saucepan
- 5- to 6-quart Dutch oven or heavy soup pot
- Whisk
- Ladle
Ingredients
For the Wild Rice
- 3/4 cup uncooked wild rice (about 125 g)
- Water or low-sodium chicken broth, as directed on the rice package
For the Soup
- 4 tablespoons unsalted butter (about 55 g)
- 1 medium yellow onion, finely diced (about 1 cup; 150 g)
- 2 medium carrots, diced into 1/4-inch pieces (about 1 cup; 130 g)
- 2 celery ribs, diced into 1/4-inch pieces (about 3/4 cup; 90 g)
- 2 garlic cloves, minced
- 1/3 cup all-purpose flour (about 40 g)
- 4 cups low-sodium chicken broth, plus 1/2 to 1 cup more as needed
- 1 teaspoon dried thyme
- 1 bay leaf
- 1 1/2 cups fully cooked ham, diced into 1/4-inch pieces (about 225 g)
- 1 cup whole milk
- 1 cup half-and-half
- Kosher salt and black pepper, to taste
Instructions
- Rinse the wild rice in a fine-mesh strainer. Cook it in water or broth according to the package directions, until the grains are tender, many have split open, and no hard centers remain. Drain any excess liquid.
- Melt the butter in a 5- to 6-quart Dutch oven or heavy soup pot over medium heat.
- Add the onion, carrots, celery, and a small pinch of salt. Cook for 7 to 9 minutes, stirring occasionally, until the onion is translucent and the vegetables begin to soften.
- Stir in the garlic and cook just until fragrant.
- Reduce the heat to medium-low. Sprinkle the flour over the vegetables and stir constantly for 1 minute, until no dry flour remains.
- Gradually whisk in 4 cups of chicken broth, scraping the bottom and corners of the pot to prevent lumps.
- Add the thyme and bay leaf. Bring to a gentle simmer and cook partially covered or uncovered for 12 to 15 minutes, until the carrots and celery are fork-tender. Remove the bay leaf.
- Stir in the ham and cooked wild rice. Simmer for 3 to 4 minutes, stirring occasionally, until heated through.
- Reduce the heat to low. Stir in the milk and half-and-half, then warm for 4 to 6 minutes, stirring often. Keep the soup steaming but do not let it boil.
- Season with black pepper, then taste and add salt as needed. Thin with warm broth a little at a time if the soup is too thick.
- Let the soup stand off the heat for 5 minutes before serving.
Tips
- Cook the wild rice separately so it does not absorb too much of the creamy soup base.
- Use low-sodium broth and season near the end because ham can be quite salty.
- Keep the heat low after adding milk and half-and-half to prevent scorching or a grainy texture.
- Check wild rice for tender, split grains rather than relying only on cooking time.
- Add warm broth gradually if the soup thickens too much.
Variations
- Chicken or Turkey: Replace the ham with 2 cups cooked chicken or turkey and add it with the rice.
- Meatless: Omit the ham, use vegetable broth, and add white beans or 8 ounces sliced mushrooms. Sauté mushrooms with the vegetables until their moisture cooks off.
- Gluten-Free: Omit the flour. Whisk 3 tablespoons cornstarch with 1/4 cup cold milk or broth, stir it into the hot broth after the vegetables are tender, and cook until thickened before adding the ham, rice, and remaining dairy.
