Filled with greens, beans, and carbs, this all-in-one pot spinach rice recipe is healthy and full of proteins, fibers, and vitamins.

One-pot meals are so easy to prepare! Just dump in all the ingredients, set the timer, and the dish is ready to enjoy. And it’s less messy, too! For example, vegetable orzo soup with pesto, Mexican chicken and rice are some wholesome dishes to try in one pot.
This fresh spinach rice recipe is also a one-pot meal. It hardly takes 10 minutes for the initial prep and 15-20 minutes for actual cooking. It is our favorite option when we are tired or don’t have time to cook.
One reader said - "I made this tonight for dinner for my family of 3 and everyone loved it. Perfect ratios, great curry flavor, and I love that this is truly a one pot meal. Great recipe! Thanks!"
Jump to:
Ingredients
Here are the key ingredients you will need for making this spinach rice with beans.

- Rice - This dish calls for long-grain white rice. I prefer aromatic Indian Basmati rice. In addition to Indian stores, you can easily find this in Costco, Samsclub, or even some local grocery stores. I always buy it from Costco.
- Spinach - Baby spinach leaves work best in this recipe. They are tender, and you don't have to remove the hard stems or clean them as much.
- Curry powder - Good quality curry powder flavors the rice very well.
- Liquid - I usually add 50-50 water and chicken broth. However, if you are vegan or vegetarian, use veggie broth or stock.
- Beans - I always use either pinto beans or black beans to add protein.
- Tomato - Use fresh tomatoes whenever possible.
Recipe Substitutions/Variations
You can also use the substitutions mentioned below. Readers have tried some of them and suggested them in the comment section.
- White rice - You can use short-grain rice. However, it may result in a risotto-style texture in the final dish.
- Beans - You can use your favorite choice of beans. Replace black or pinto beans with kidney or white beans, chickpeas, or green peas.
- Curry powder - If you are not a fan of curry powder, you can also use garam masala or a Mediterranean spice blend to flavor the rice.
- For an easy and simple meal, cook this spinach rice in an Instant Pot. See the recipe notes in the recipe card below for more details. You can also follow this Instant Pot spinach brown rice recipe with slight variations.
- Meat lovers can add cooked or grilled chicken pieces once the rice is well done.
Best rice to use
I prefer using long-grain white basmati rice for making one-pot recipes. It is easy to cook and takes about 15 minutes to fully cook. You can use your choice of white rice. Just make sure to use enough water and cook it for the time given on the package. Different varieties of rice may take different amounts of water and time to cook.
Preparation tips

- Garlic - peel and chop it finely or mince or grate using a grater.
- Onion - trim the ends, peel, and then dice into small pieces. To avoid tears, after peeling cut the onion in half, rinse with cold water, and then dice.
- Tomato - clean with water, cut in half, and then dice into ½" pieces.
How to make healthy spinach rice
Step 1—In a large skillet, sauté fresh chopped garlic in oil on medium heat. Add diced onion and cook until translucent.


Step 2—Then add diced tomatoes and cook them until they soften.

Step 3—Now add fresh spinach leaves and rice to the pan. Stir-fry for a few seconds or until the spinach just wilts.


Step 4—Now add cooked beans and liquid (water + chicken/vegetable stock or use only stock); gently mix to combine and bring the mixture to a boil.


Chef's Tip for even better results - Instead of using store-bought canned beans, soak the raw pinto beans overnight and then cook them in an Instant Pot on manual high pressure for 8 minutes and release the pressure immediately. These home-cooked beans are way more delicious than canned ones.
Step 5—Add seasonings, including curry powder, salt, and pepper. Lower the heat, cover, and cook the rice until tender. Serve warm.


Serving suggestions!
- Garnish the rice with chopped fresh cilantro, spinach leaves, and a slice of lime. Serve while it is fresh and warm to enjoy the flavors. A bowl of these beans and spinach rice is sufficient for a wholesome lunch or dinner.
- Prepare cucumber and avocado salad to serve on the side.
- You can also prepare light soups such as turmeric cauliflower soup or roasted tomato soup, detox broccoli soup to pair with this bowl of rice.
- Make these roasted sweet potato fries, breaded ground chicken nuggets, or Air Fryer bbq cauliflower bites to serve on the side.

Helpful tips!
- Buy organic baby spinach leaves whenever possible. If you love gardening, grow them in your yard or balcony. Spinach is very easy to grow. You can also grow them in containers or fabric grow bags.
- I always use 50-50 water and chicken/veggie broth instead of only the broth. This method still provides flavor to the dish and helps to cut down on the cost. I never noticed any difference in the taste.
- After adding cooked beans, gently mix them with other ingredients to avoid breaking the whole beans.

How is this spinach rice healthy?
This rice recipe is full of nutrients. Fresh green spinach is rich in vitamins A and C. Beans are a great source of protein and fiber. This rice dish is prepared without using any saturated fat, like butter.
Recipe FAQs
You can store leftover spinach rice in an air-tight container in the refrigerator for up to 2 days.
Cooked rice tends to dry up over time. Before using it the next day, sprinkle some water over the rice and stir-fry it in the skillet until it gets steamy hot.
You can also microwave it for 1-2 min or until it gets steamy hot.
Yes. You can use frozen spinach to make this rice.
However, I recommend using fresh spinach as it adds a nice color to the dish and is also easily available in grocery stores.
Yes, you can use brown rice instead of white rice. However, it will take at least 30-35 min to cook on the stovetop.
Or you can try this Instant Pot brown rice and spinach recipe. It is a slight variation of this dish and is made with brown rice.

More spinach recipes to try
More one-pot meals you will love
Love this recipe? Please leave a 5-star ⭐⭐⭐⭐⭐ rating in the recipe card below & a review in the comments if you REALLY like this recipe. Thank You!
📖 Recipe
Easy Healthy One Pot Spinach Rice
Would you like to save this recipe?
Equipment
Ingredients
- 1 cup white rice (rinsed and drained)
- 2-3 cups fresh baby spinach
- 2 tomatoes diced
- 1 medium onion diced
- 2-3 cloves garlic minced
- 1 cup pinto/black beans canned (rinsed and drained)
- 2 cup chicken stock low sodium (or vegetable stock or water if vegan)
- 1 ½ teaspoon curry powder
- 1 teaspoon cooking oil
- salt and pepper
Optional
- 1-2 tablespoon fresh chopped cilantro to garnish
- 1 lime sliced to garnish
Instructions
- Heat oil in a large skillet on medium heat. Add garlic and saute until fragrant for about 30 sec.
- Add onion and saute until translucent for about 2-3 min. Then add diced tomatoes and cook them until they soften for about 3-4 mins.
- Add spinach and rice and stir to combine or until spinach just wilts.
- Now add cooked beans and chicken or vegetable stock (if vegan). Gently mix and bring the mixture to a boil.
- Season with curry powder, salt and pepper. Cover and simmer the rice mixture for 18-20 min (or until rice is tender) on low heat.
- Garnish with fresh spinach leaves, chopped cilantro, lime slices, and serve warm.
Notes
- Tips on cooking: Once the mixture comes to a boil, cover and then cook it on low heat to avoid burning the rice.
- Taste test: After adding seasonings taste test the liquid and add more seasonings if necessary.
- Cook it in an Instant Pot: You can prepare this dish in an Instant Pot. Turn on saute mode and follow the steps from 1 to 3. Then, after adding liquid in step 3, add seasonings (there is no need to bring the mixture to a boil here), mix to combine, cover, and cook on manual high pressure for 5 minutes, then immediately release the steam.
- Tips on garnishing: Cut a few fresh spinach leaves into stripes and use them to garnish the final dish. Also, cut lime into thin slices and tuck them on the side of the bowl of rice.















Maisie says
This is a great recipe! The perfect way to use up the remaining food in my fridge/pantry in between grocery trips. I made this in my Instantpot & it turned out perfectly--so easy too! Also I used black beans instead and squeezed in some lime juice when it was all done. Thank you for the great recipe!
Jan says
Utterly amazing!! This has become one of my favourite dishes! I also added dry fried cumin seeds & added more beans & spinach. I prefer it with short-grain rice & uncooked beans so it becomes more risotto-like. Thank you for this recipe!!
Gloria says
This dish is easy and very delicious. I will be making it again. Next time I plan to add more curry and throw in some chopped carrots. I need more like this. It fits into my Weight Watchers plan so nicely.
Joseph schoepfer says
We made this tonight. We substituted the white rice for Brown Basmati. Used one can of pinto beans drained. One can of fire roasted diced tomatoes. Also added a 1/2 tsp of turmeric. And used vegetable broth. Very delightful recipe. Thank you for the inspiration!
K says
My family really enjoyed this recipe. It was easy and quick. I used kidney beans instead of pinto beans. Next time, I may use black beans to just add a different color. I doubled the recipe to feed 4 and had some leftovers. I will try more recipes on this site as I am a big fan of one pot meals.
jasnoor sandhu says
this dish is absolutely amazing, due to the coronavirus quarantaine i wasn't able to use the correct type of ingredients so I substituted a couple of things like instead of using Roma tomatoes or any other medium sized tomatoes I used cheery tomatoes and also instead of spinach I used kale and also I didn't have curry powder so I just used a combination of other spices and it tastes soooo good that I can only imagine how it will taste once I can get all the og ingredients. Thank you so much to the person who shared this recipe, I am so grateful for this and I will definitely remake it.
Joshua says
Can I use frozen broccoli and spinach for this recipe? (I'm a total novice!) Thanks for the recipe.
Yes, you can use frozen spinach and broccoli.
Diane says
Easy to make, but bland. We tried adding almonds, raisins and parm but it was still bland. Seems like a great healthy base once we figure out what would perk up this dish.
You can add a little more curry powder for additional flavors.
Sandi says
I usually add more spices than recipes call for, so I added a little cayenne pepper, rosemary thyme & extra garlic. I used brown rice that I rinsed & soaked for awhile then cooked it for a short time in chicken broth. When I added the rice , I added the broth. I think there are many different spices one could add. Also someone said they added jalapeños, which sounds awesome. It was very tasty.
Kat says
OH MY GOSH - this tasted SO DELICIOUS!! I'm soooo pleased with the recipe. It tasted amazingly delicious and was very quick to make too. Because this was so good, I'm going to check out your other recipes now! THANK YOU!
Aryn says
Super yummy! I didn't have any fresh tomatoes so I used canned fire roasted with garlic, and I added some diced yellow, red, and orange bell peppers. So quick, easy, and filling!
Hana Li says
Lovely, I quickly fried some whole cumin seeds before frying garlic and onion and sprinkled with some garam Masala at the end end. Also swapped pinto for butter beans and threw in some fresh chillies. Worked a treat. Tasty vegan dinner. Thank you. ????
Ashley says
I made this tonight for dinner for my family of 3 and everyone loved it. Perfect ratios, great curry flavor and I love that this is truly a one pot meal. Great recipe! Thanks!
NewChef21 says
I’m sorry if this is a dumb question but I’m a complete beginner. Should I cook the rice first or use raw rice for this recipe? Can I susbstitute brown rice?
Hi, I used raw white rice in this recipe. You can use brown rice as well if you prefer.
However, brown rice will take a longer time to cook than mentioned in the recipe (if rice starts to stick at the bottom, you may also need to add more water).
Let us know your feedback when you try this dish!
juliana says
Thank-you for the wonderful recipe. It was yummy, and so quick and easy to make.
Thumbs up!
Mel says
This recipe is to easy and awesome!!!
I make my own chicken broth that I added, I also added lime zest after I turned off the stove and squeeed 1 line. Everything else was perfectly addicting!!! Love love love
C says
Hi, i've got a question. The recipes says pinto beans, but the picture makes it look like black beans. Is it pinto beans?
Bigguy In Texas says
I am trying to eat more rice and veggies and this fits the bill. I tried it without the curry and didn't have any broth, but it worked anyway. I did add more pepper and I plan to drizzle it with lime juice when I eat it. Thanks for a heart healthy recipe that tastes yummy!
Jake says
Very tasty! I messed up and used cooked rice (which I needed for the other dish I was cooking) but I fixed it and used half the chicken broth. Also added salt and pepper. Will definitely make this again!
Marissa says
This was incredible and so easy! Monday nights are rice based meals for us right now, and I can still smell the curry this morning and wish we had leftovers because I miss it already! This will for sure be on rotation. I am still so excited about it!
Joanne says
This is a great dish. I tried it today and found the curry amount just right. The dish visually appealing and very satisfying. Thanks