Hearty One-Pot Tomato Rice Soup
This one-pot tomato rice soup is the kind of meal you turn to on a weeknight when you need something warm and filling without a lot of fuss.

It comes together in about 30 minutes with mostly pantry ingredients, and leaves you with just one pot to wash.
Why I Keep Coming Back to This Soup
The broth is bright and tomatoey, with a natural sweetness that comes from canned crushed tomatoes. I add a tiny pinch of red pepper flakes for warmth, not heat, which balances the acidity.
The rice soaks up all that flavor and gives the soup a creamy texture without any dairy. It’s filling enough to be dinner on its own but never feels heavy.
Ingredients

- 2 tbsp olive oil: for sautéing, extra virgin works well here
- 1 medium yellow onion, diced: white onion is fine too
- 3 cloves garlic, minced: use fresh, not jarred, for the best flavor
- 1 (28 oz) can crushed tomatoes: go for San Marzano if you can, they’re consistently sweet and low-acid
- 4 cups vegetable broth: or chicken broth if you prefer
- 3/4 cup long-grain white rice: do not rinse it, you want the starch to thicken the soup
- 1 tsp dried oregano
- 1/2 tsp dried basil: or 2 teaspoons chopped fresh basil, added at the end
- 1/4 tsp red pepper flakes (optional): skip if you don’t want any heat
- Salt and black pepper: to taste
- Fresh basil and grated Parmesan, for serving: the basil adds a fresh pop, the Parmesan a salty bite
Variations / Substitutions
- Swap the rice: Use Arborio for a risotto-like texture (add 5 extra minutes), or try orzo
- Add protein: Stir in a can of drained white beans or leftover shredded chicken during the last 5 minutes of cooking
- Make it creamy: Swirl in a splash of heavy cream or a pat of butter just before serving
- Go spicy: Double the red pepper flakes or add a chopped fresh chili with the onions
- Keep it dairy-free: Skip the Parmesan or use a vegan alternative
If you like this one, you might also enjoy my simple lentil and spinach soup.
How to Make Hearty One-Pot Tomato Rice Soup
Step 1: Sauté the Onion and Garlic

Heat the 2 tbsp olive oil in a large pot or Dutch oven over medium heat. Add the diced onion and a pinch of salt, then cook, stirring occasionally, until soft and translucent, about 5 minutes. Stir in the minced garlic and cook for 30 seconds until fragrant.
The onions should turn glossy and start to soften without browning, which keeps the soup’s color bright. If your garlic browns too quickly, lower the heat a little.
Step 2: Build the Tomato Broth

Pour in the crushed tomatoes, vegetable broth, white rice, oregano, dried basil, and the red pepper flakes if using. Stir well and bring the liquid to a gentle boil over high heat, which should take about 2 to 3 minutes.
You’ll see the broth turn a deep red as it comes together. Taste it now and add a few grinds of black pepper; hold off on more salt until the rice has cooked, since the broth and canned tomatoes already bring some salt.
Step 3: Simmer Until the Rice Is Tender

Once boiling, lower the heat to a steady simmer, cover the pot partially with a lid, and cook for 15 to 18 minutes. Stir occasionally to keep the rice from sticking to the bottom. The rice is done when it’s tender but still has a slight bite.
The soup will thicken as the rice releases its starch. If it gets too thick before the rice is ready, add a splash of water or extra broth. The aroma will fill your kitchen with sweet tomato and herbs.
Step 4: Ladle and Top with Fresh Basil

Remove the pot from the heat and taste the soup. Season with salt and a little more black pepper if needed. Ladle the soup into warm bowls.
Scatter fresh basil leaves over each bowl and a generous dusting of Parmesan. Serve right away while it’s steaming hot, with extra black pepper at the table.
Tips for the Best Tomato Rice Soup
- Use high-quality canned tomatoes because they carry the entire broth. San Marzano crushed tomatoes have a sweet, low-acid profile that makes a noticeable difference.
- Stir the soup every few minutes as it simmers. Rice can sink and catch on the bottom, so a quick stir keeps it cooking evenly.
- If you want deeper savoriness, drop in a Parmesan rind while the soup simmers and fish it out before serving. It adds a salty, nutty undertone.
- Leftover soup will thicken as it sits because the rice keeps absorbing liquid. When reheating, add a little broth or water to bring back the original consistency.
Rice cook times for other varieties:
| Rice Type | Cook Time |
|---|---|
| Long-grain white rice | 15-18 mins |
| Arborio rice | 20-22 mins |
| Brown rice (rinsed) | 35-40 mins |
| Jasmine rice | 12-15 mins |
Keeping Leftover Soup Fresh
- Refrigerate: Store cooled soup in an airtight container for up to 4 days. The rice will absorb liquid, so it will be thicker the next day.
- Reheating: Reheat gently on the stovetop over medium-low heat, adding a splash of broth or water to thin it out if needed. Stir often to prevent sticking.
What to Serve with Tomato Rice Soup
Crusty sourdough bread for dunking is almost mandatory. A simple arugula salad with lemon vinaigrette cuts through the richness of the tomatoes, and a grilled cheese sandwich on the side turns this into a cozy weekend lunch.
Frequently Asked Questions
Can I use fresh tomatoes instead of canned?
Yes, you’ll need about 2 pounds of ripe tomatoes, peeled and chopped, and you should cook them down for 10 extra minutes to concentrate the flavor.
Can I freeze this soup?
I don’t recommend it, the rice becomes mushy and bloated after thawing. If you want to freeze it, leave the rice out and add freshly cooked rice when you reheat.
What can I add for more protein?
Stir in a can of drained chickpeas or a cup of shredded cooked chicken in the last 5 minutes of cooking to warm through.
My soup turned out too acidic, what can I do?
Stir in a tiny pinch of sugar or a tablespoon of butter to balance the acidity without making it taste sweet.

Hearty One-Pot Tomato Rice Soup Recipe
Ingredients
Method
- Heat olive oil in a large pot over medium heat. Add onion and a pinch of salt, cook until soft and translucent, about 5 minutes. Stir in garlic and cook 30 seconds.
- Add crushed tomatoes, broth, rice, oregano, basil, and red pepper flakes. Stir, bring to a boil over high heat (about 2-3 minutes), then reduce heat to a simmer.
- Partially cover and simmer for 15-18 minutes, stirring occasionally, until rice is tender with a slight bite. Thin with water if needed.
- Season with salt and pepper. Ladle into bowls, top with fresh basil and Parmesan, and serve hot.
