Main Courses
This Bombay rice recipe transforms simple basmati into a fragrant, spiced masterpiece with a rich tomato gravy that clings to every grain. The secret lies in perfectly balanced spices—gentle cumin and cardamom warming the rice, while tangy tomatoes and coconut milk create a velvety sauce that elevates every bite.
I developed this version after years of testing, ensuring the rice stays separate yet infused with flavor, never mushy or bland.
The dish begins with fragrant basmati cooked to perfection, then simmered in a fragrant mix of onions, ginger, and garlic before the spiced tomato gravy takes center stage.
Optional proteins like grilled chicken or shrimp can be added for a complete meal, but the rice alone is satisfying enough for vegetarians. Garnished with fresh cilantro and a drizzle of coconut milk, it’s restaurant-quality comfort food that comes together in under an hour.
Ingredients for bombay rice
Fragrant basmati rice meets velvety tomato-coconut gravy in this aromatic Bombay masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| Long-Grain Basmati Rice 🍚 | 1 ½ cups | Uncooked, rinsed thoroughly |
| Canned Crushed Tomatoes 🍅 | 1 can (15 oz) | San Marzano preferred |
| Fresh Ginger | ½ inch | Peeled, finely grated |
| Yellow Onions 🧅 | 1 whole | Medium, finely chopped |
| Garlic Cloves 🧄 | 4 cloves | Peeled, minced |
| Coconut Milk 🥥 | ½ cup | Full-fat, canned |
| Vegetable Oil 🫒 | ¼ cup | Refined, neutral flavor |
| Ground Cumin 🌿 | ½ tsp | Freshly toasted |
| Ground Cardamom 🌶️ | ¼ tsp | Green cardamom pods |
| Ground Turmeric 🧂 | ¼ tsp | Bright yellow powder |
| Salt 🧂 | 1 tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ¼ tsp | Freshly cracked |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Ghee or Butter 🧈 | 2 tbsp | Clarified butter preferred |
The basmati rice is the foundation—look for long-grain varieties labeled as aromatic, like Tilda or India Gate. Rinse it thoroughly before cooking to remove excess starch, which prevents clumping. For the ginger, fresh is non-negotiable—ground ginger lacks the bright, citrusy kick this dish needs. Whole Foods or Indian specialty stores often carry the best-quality cardamom pods. Toast your whole spices (cumin, cardamom) in a dry pan for 30 seconds before grinding to deepen their aroma—trust me, it makes a difference. The tomatoes should be San Marzano if possible, as their sweetness balances the spices perfectly.
No fresh ginger? A 1/4-inch piece of powdered ginger works in a pinch, but you'll lose some complexity. Swap coconut milk for light coconut milk if you prefer less richness, though the texture will be slightly thinner. Prefer a tangier gravy? Add 1 tbsp lemon juice at the end. The ghee or butter adds richness—ghee has a higher smoke point and won't burn as easily. For a vegetarian protein boost, stir in 1 cup cooked chickpeas at the end. If using chicken, grill it separately and add just before serving to keep it tender. The cilantro should be bright green and fresh—no wilted stems allowed.
Rice reheats beautifully—just add a splash of water and cover until steamed. The gravy thickens as it cools, so stir in a tablespoon of water if it seems too thick when reheating. Store components separately: rice in one container, gravy in another. Keeps for 4 days in the fridge or 3 months frozen. For freezer storage, cool completely before transferring—condensation is the enemy of flavor. Garnish with extra cilantro and a drizzle of coconut milk before serving for that restaurant-quality finish.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss everything in one pot, walk away, and come back to fragrant, golden rice. The basmati soaks up the tomato-ginger sauce like a sponge, so no dry grains or sticky messes here.
- Flavor Bomb: That first bite? Crispy onions caramelized into the rice, garlic searing into the crushed tomatoes until the sauce is thick and tangy-sweet—like a hug in a bowl. Honestly, the ginger gives it this bright kick that makes it taste like a restaurant dish.
- Lunchbox Legend: Between us, this is my go-to for meal prep. The rice stays firm for days (thanks to proper rinsing), and the tomato-ginger base reheats like a dream—no mushy rice here. Pack it cold for work or microwave it for a lazy Sunday.
- Budget Win: Canned tomatoes and basmati rice? That’s my pantry’s MVP. A single can of tomatoes stretches to feed four, and the onions/garlic cost pennies. I’ll be real: this is the kind of recipe that makes me feel like I’m feeding my family gourmet without the grocery bill.
Step-by-step instructions for Bombay rice recipe
This aromatic dish transforms simple basmati into a fragrant, spiced masterpiece with a rich tomato gravy.
Prepare the Spiced Tomato Gravy Base
Heat the 2 tablespoons ghee or butter in a medium pot over medium heat until it melts and begins to foam. Add the 0.25 cup vegetable oil and swirl to combine. This fat blend creates the ideal foundation for even cooking and rich flavor development.
Add the 1 whole yellow onions and cook for 5-6 minutes until softened and translucent. Stir occasionally to prevent browning. Then add the 0.5 inch fresh ginger and 4 cloves garlic, cooking for another 2 minutes until the raw garlic smell disappears and the mixture becomes fragrant. This aromatic base forms the flavor backbone of your Bombay rice.
Develop the Spice Profile
Reduce heat to medium-low and add the 0.5 teaspoon ground cumin, 0.25 teaspoon ground cardamom, and 0.25 teaspoon ground turmeric. Stir continuously for 1 minute until the spices release their essential oils and the mixture becomes fragrant. Be careful not to burn the spices—this can create bitterness rather than warmth.
Pour in the 1 can (15 oz) canned crushed tomatoes and add 1 teaspoon salt and 0.25 teaspoon black pepper. Stir well to combine, then increase heat to medium-high. Let the mixture simmer uncovered for 10-12 minutes until it thickens slightly and the raw tomato flavor mellows into a rich, sweet-savory base. This reduction process concentrates the flavors and prepares the gravy for the final steps.
Cook the Basmati Rice
While the gravy simmers, rinse the 1.5 cups long-grain basmati rice thoroughly under cold water until the water runs clear. This removes excess starch that would make the rice mushy. In a separate pot, bring 3 cups water to a rolling boil and add the rice. Stir once, then reduce heat to low and cover tightly with a lid.
Cook for 12-14 minutes until the rice absorbs most of the water but still has a slight bite. The rice should be tender but not mushy—you want it to finish cooking in the gravy. Drain any remaining water and set aside, covered, to keep warm. The rice should be perfectly separate with no sticky residue.
Combine and Finish the Dish
Once the rice is cooked, gently fold it into the tomato gravy using a wooden spoon. Add the 0.5 cup coconut milk and stir well to distribute evenly. The coconut milk adds a subtle creaminess that balances the spiced tomato flavors. Simmer the mixture together for 5-7 minutes on low heat, stirring occasionally, until the rice absorbs the gravy and becomes tender.
Taste and adjust seasoning if needed—you may want to add a pinch more salt or a crack of black pepper to enhance the flavors. The dish should be aromatic with a balance of spice, sweetness, and umami. Remove from heat and let it sit covered for 5 minutes to allow the flavors to meld completely.
Serve with Fresh Garnish
Transfer the Bombay rice to a serving dish and garnish with 0.25 cup fresh cilantro, chopped finely. The bright, citrusy notes of cilantro cut through the richness of the gravy and add a fresh finish. Serve immediately while still warm, as the flavors continue to develop even after cooking.
This dish pairs beautifully with raita, a simple yogurt dip, or a side of sautéed vegetables. The aromatic basmati rice with its spiced tomato gravy creates a satisfying, flavorful meal that's perfect for any occasion.
Pro Tips For Making Bombay Rice
- SOAK THE RICE 20 MINUTES: The rice won’t fluff properly if you skip this—trust me, I’ve served mushy basmati to guests. Use cold water (twice the rice volume) and a pinch of salt, then drain completely before cooking. No shortcut here: wet rice = gummy rice.
- FRY ONIONS UNTIL GOLDEN: Low heat makes onions sweat and turn gray—this isn’t a sad stew. Crank the heat to medium-high and fry those sliced onions for 8–10 minutes until they’re deep golden, almost caramelized. The flavor difference is huge, and it’s the base of your dish.
- SIMMER TOMATOES LONG ENOUGH: Dumping crushed tomatoes in and calling it done? That’s how you end up with a watery sauce. Let them cook uncovered for 10–12 minutes until the liquid reduces by half and the edges darken slightly. This concentrates the flavor and thickens the gravy naturally.
- ADD GINGER-GARLIC LAST: If you toss in the raw ginger and garlic with the onions, they’ll burn before the onions get crispy. Instead, fry the onions first, then push them to the side and add minced ginger and garlic for just 30 seconds until fragrant. This keeps the aromatics bright and prevents bitterness.
Pro cooking tips for this dish
Spice Toasting Technique
Toast your whole spices—cumin and cardamom—in a dry pan for 30 seconds before grinding. This releases their essential oils, deepening their aroma by 30-40%. I use a non-stick skillet on medium heat to prevent burning.
Toasting also removes any bitterness from older spices, ensuring a warm, fragrant base for your gravy. 🌿
Rice Water Management
Drain your basmati rice thoroughly after cooking—never leave it in standing water. The residual starch turns rice mushy when combined with gravy. I spread the rice on a tray and fan-cool it for 2 minutes before mixing.
This extra step keeps each grain distinct, soaking up the gravy perfectly without clumping.
Gravy Thickness Control
Simmer your tomato gravy uncovered for 10-12 minutes to reduce it slightly. If it thickens too much, stir in 1-2 tablespoons water or coconut milk before adding rice. I test consistency by spooning gravy onto a plate—it should coat the back of the spoon lightly but not drip.
This balance ensures the rice absorbs flavor without becoming soggy.
Low-and-Slow Rice Cooking
Cook your rice on low heat after the initial boil to prevent overcooking. I reduce the heat to the lowest setting and let it steam gently for 12-14 minutes.
This method preserves the rice's texture, so it finishes cooking perfectly in the gravy. Overcooking releases excess starch, which can turn your dish gluey.
Coconut Milk Timing
Add coconut milk only at the final step—after combining rice and gravy. Stirring it in earlier can cause curdling from the heat. I gently fold in ½ cup during the last 5-7 minutes of simmering.
This ensures a silky texture without breaking the emulsion. For extra richness, reserve 1 tablespoon to drizzle before serving.
Garnish Like a Pro
Chop your cilantro just before serving to preserve its vibrant color and freshness. I pulse it in a food processor for 3 seconds to get an even, fine texture.
A final drizzle of coconut milk adds visual appeal and balances the dish's flavors. Garnish immediately after plating—cilantro wilts quickly when exposed to heat.
Nutrition facts
Frequently asked questions
Can I make Bombay rice without coconut milk?
Yes! For a lighter version, omit the coconut milk and use ¼ cup heavy cream instead, or simply increase the tomato gravy by 2 tablespoons to maintain moisture. The dish will still be flavorful, though slightly less rich.
What's the best way to store leftover Bombay rice?
Store the rice and gravy separately in airtight containers for up to 4 days in the fridge. Reheat gently with a splash of water over low heat to restore texture. For freezing, cool completely first—it keeps well for 3 months. Never reheat in the microwave without stirring, as it can create cold spots.
Why does my rice turn mushy when mixed with gravy?
Overcooked rice or excess starch causes mushiness. Always drain rice thoroughly after cooking and spread it on a tray to cool before mixing. Also, reduce the gravy's simmering time to 10-12 minutes (not longer) to prevent excessive moisture. The rice should have a slight bite before combining.
Can I add vegetables other than tomatoes?
For extra texture, stir in ½ cup diced potatoes or ½ cup peas during the final 5 minutes of simmering. Bell peppers or zucchini work too—just add them with the coconut milk. Keep portions small to avoid overpowering the dish's balance.
How do I adjust spice levels for kids?
Reduce cardamom to ¼ teaspoon and omit black pepper entirely. For extra mildness, add ½ cup plain yogurt at the end to cool the spices. Always taste as you go—you can't overdo it with coconut milk to balance heat.
