Skip to Content

Tomato Rice Recipe (Malaysian style)

Today I have decided to fix my eyes on the Malaysian tomato rice, a dish that has to be tasted to be believed.

Malaysian tomato rice is prepared with a plethora of spices and fresh ingredients, transforming the ordinary ingredients into a rice dish heavily scented with spices.  It is different from the tomato rice from southern India, cooked with different spices.

Malaysian tomato rice

This rice dish is evolved from the original Indian version and has become the staple of Malay cuisine. It is the result of the cultural mash-up of Asian and Western cuisines due to the influence of the European countries who settled in this country in the past centuries and the migrants of the Indian community.

Tomato rice is a drool-worthy, gluttonous gem on par with biryani rice.  Furthermore, it has a universal appeal that everyone likes and kids friendly.

Fit for any banquet tables for festive occasions and ceremonies.  I bet you would like to give it a try.

Let’s kicks thing off with step-by-step instruction.

Note: This post may contain affiliate links. Please read my privacy policy for more info. I may receive commissions for purchases made through links in this post. As an Amazon Associate, I earn from qualifying purchases.

1. Rinse and soak the rice

Rinse the rice with water just like preparing any steamed rice.

Some brand of rice is much cleaner than other. The basmati rice that I bought is generally very clean, and I only need to rinse it once or twice. On the contrary, certain brands of local long grain rice are dirtier and need to wash thoroughly.

The choice of rice:

You can use any long grain rice for this recipe or get the basmati rice while preparing for a special occasion. The shape of basmati rice is longer than the ordinary long grain rice, which is the preferred choice for biryani rice and tomato rice.

You may soak the rice for at least half an hour before cooking. Rice that is pre-soaked has a softer and lighter texture. The tomato rice will be firmer if you do not pre-soak the rice. You can choose which way you want, depending on the outcome that you would like to be.

Either way, strain the rice to remove the water before adding to the sautéed ingredients in the following steps.

2. Fried the dry spices

Heat some ghee in a saucepan, giving you an extraordinary flavor. Add the whole spices (cloves, cinnamon, star anise, and cardamom) into the pan over low heat until aromatic. You can use butter or margarine instead of ghee as the substitute.

The above four spices are commonly used together in Malay cooking. Once they are heated up, they release the essential oil, making it very aromatic.

This is the Malaysian version of the tomato rice which is different from the authentic Indian recipe, in which mustard seeds, cumin seeds, garam masala, curry leaves, dry chilies, red chili powder, and green chilies are used as the spices.

Buy the spices in small quantities. You will get a much better taste if the spices are fresh. It is tempting to buy a larger amount, but the spices will lose their fragrance and become stale over time.

Nasi tomato

3. Brown the onion and saute the garlic and ginger

After that, add the chopped onion, minced garlic, and ginger to the saucepan.

Cut the onion into thin slices and loosen before adding it to the pan to let it brown evenly.

Some people prefer to cut the ginger into fine julienne, but I do not like to chew on a piece of ginger.  The goal is not to have large pieces of ginger in the rice. Also, young ginger is always preferred over the old one, which is fibery.

The heat should not be too high while sautéing, as garlic can burn quickly and produce a bitter taste.

You will start to smell the aroma rising from the pan at this point.

Continue stir-frying over low to medium heat until the onions turn soft and slightly brown.

Watch this video (below the instruction for the recipe)

A picture worth a thousand words, a video worth a thousand images.
This video will show you how to prepare Tomato Rice. (5.53 minutes). It is located below the Instruction and above the nutrition value in the recipe below.

(Note: If you encounter any audio / visual problems with viewing this video, you can view it from YouTube by clicking this link, which will open in a new tab)

4. Add the fresh tomato

Chopped two tomatoes into small chunks and added them to the mixture in the saucepan. I like to cut the tomatoes into small chunks rather than mash them into a paste, as I want the fresh tomatoes to be seen and scattered in between the rice.

You may want to add more tomato for a richer taste.  The ratio of uncooked rice to water is 1:1, slightly less than cooking regular white rice because tomato has a high water content.

5. Add tomato puree, salt, water (milk)

Add some tomato puree in addition to the fresh tomatoes at this point.

You may wonder why tomato paste is necessary for this recipe since we use fresh tomatoes.

Honestly, most of the local tomatoes are not as red and sweet as those you can get from countries with temperate climates. Adding the commercially produced tomato puree can improve the flavor and, more importantly, provide a tinge of red color to the ice.

Season with salt and add sufficient water to cook the rice.

Add some milk

You can substitute part of the water with milk for a richer flavor. I did not use it in this recipe, but it is a welcome variation.

tomato rice cooker

6. Cook the rice (with the rice cooker)

There is an easy way to boil the rice- with the rice cooker.

Pour the tomato mixture into the rice cooker.  Add the soaked rice and let the rice cooker do the work.

If you do not have a rice cooker, use a pot or large saucepan with a heavy bottom:

  • Once the water is boiled, add the rice to the pot.
  • Boil the rice over medium heat until the water starts to dry out. Then continue cooking with the lid on.
  • Turn to low heat and simmer over low heat until the rice is cooked and tender.

Remove the lid to let the steam release.

Loosen the rice by fluffing it while it is still warm. Otherwise, it will form lumps after it cools down.

Note: If you do not have a rice cooker, you can do the same with a large pot. Make sure to cook it at a barely simmering temperature.

7. Topping and garnish

Scoop the rice onto the serving plate. Topped with some roasted cashew nuts. You can also use toasted almond slices if you prefer.

Add some chopped coriander leaves (or mint leaves) on top, and sprinkle some fried shallot onto it. Now you have a bowl of lovely tomato rice with a chorus of aromas hitting your nose.

You can serve tomato with any dish, but I choose Ayam Masak Merah (chicken stew in tomato sauce) and dhal curry.

Other rice recipes you for you.

I want to recommend some rice dishes for you to try since you like tomato rice. You can find the recipe on this food blog.

  • Taro rice (芋头饭) is an easy one-pot meal that is incredibly delicious. Besides taro, it is prepared with shitake mushrooms, Chinese sausage, and fried shallots.
  • Japanese fried rice is a highly fragrant fried rice with crispy garlic. It is usually served as a side dish for Japanese set meals.

The Tomato Rice Recipe

tomato rice recipe

Tomato Rice Recipe (Malaysian style)

Yield: 3 servings
Prep Time: 15 minutes
Cooking Time: 30 minutes
Total Time: 45 minutes

This Malaysian tomato rice recipe is prepared with a plethora of spices and fresh ingredients transform the ordinary ingredients to a rice dish heavily scented with spices.  We use the rice cooker to cook the rice in this tomato rice recipe.




  1. Rinse the rice with water. Soak it for half an hour. Drained
  2. Heat some ghee in a saucepan. Add the dry spice (cloves, cinnamon, star anise, and cardamom) into the pan over low heat until aromatic. 
  3. Add the chopped onion, minced garlic, and ginger. Sauteed until the onion turns soft and slightly brown. 
  4. Add the diced tomatoes, tomato paste, salt and sufficient water to cook the rice.
  5. Transfer the tomato mixture to the rice cooker. Add the rice and pandan leaves. Cover until the rice is done.
  6. Scoop the rice onto the serving plate. Garnish with roasted cashew nut, chopped coriander leaves, and fried shallots. Serve.
Nutrition Information:
Yield: 3 Serving Size: 1
Amount Per Serving: Calories: 323Total Fat: 14gSaturated Fat: 8gTrans Fat: 0gUnsaturated Fat: 5gCholesterol: 32mgSodium: 444mgCarbohydrates: 49gFiber: 4gSugar: 13gProtein: 5g

This data was provided and calculated by Nutritionix on 12/28/2018


Thursday 6th of August 2020

I see that there is pandan leaf mentioned in the list of ingredients but not mentioned in the method. Does it need to be put in when the rice is cooking or is it not necessary for this dish?

KP Kwan

Friday 7th of August 2020

Hi Aruna, Thanks for pointing the confusion. The pandan leaves are added to the rice cooker along with the rice. I have corrected the recipe. It is not mandatory to leaves. Although pandan leaves give you a pleasant aroma, you can omit it if it is not available where you live. KP Kwan


Thursday 25th of June 2020

Hi Kwan, Can I use regular jasmine rice instead?if yes, is the amount of the water would be the same 250ml? We re not normally eat long grain or basmati and I dont want to buy that just for tomato rice.. thank you

KP Kwan

Thursday 25th of June 2020

Hi Amelia, You can use Jasmine rice. Sometimes I use it instead of basmati for this recipe. KP Kwan


Thursday 23rd of April 2020

I just tried the recipe and it turned out amazing. I used normal rice cooker. Measured rice n milk using baking cup measurement. 2 cups rice and 2 cups milk. Thank you for the easy recipe.

KP Kwan

Thursday 23rd of April 2020

Hi Ross, Thank you for trying this recipe and glad to know that it turned out amazing. KP Kwan


Thursday 4th of April 2019

Hi I tried this but my rice was undercooked and soggy:( I used the rice cooker cup measure of 2 cups rice and 3 cups water to the tomato mix ... please advise

KP Kwan

Thursday 4th of April 2019

Hi Sue, It looks like you have too much liquid (water + tomato) in your rice, and the rice turned soggy.

Two cups of rice with 3 cups of water is Ok for regular steam rice, without the fresh tomato and tomato puree, and with rice soaked to absorb water.

I suggest you use 2 cups of rice and 2 cups of water. The tomato will contribute the remaining water you need. Also, the rice has soaked up lost of water during soaking. (to make the rice feels soft and light).

You may also want to leave the rice in the rice cooker with the lid on after it turns off automatically. Most of the rice cooker needs a bit of standing time to let it fully cooked.

Hope this help to solve the tomato rice problem.

Best regards, KP Kwan


Monday 11th of February 2019

Its my favorite recipe. I make this often. My family love this rice. Thanks so much for sharing this recipe.

KP Kwan

Thursday 14th of February 2019

Thank you so much that you tried the tomato rice recipe and I hope you will like it.

Skip to Recipe