Basic Indian Tomato Curry

The optional heavy cream is highly recommended, as it creates a richer, more authentic sauce. Serve this curry on its own with some basmati rice or get creative and add your favorite vegetables and meat to create a heartier meal. 

Basic Indian Tomato Curry
Photo: © Kristen Stevens
Total Time:
30 mins


  • 1/4 cup vegetable oil (or ghee)

  • 1 medium onion, finely minced

  • Sea salt

  • 3 tablespoons finely grated ginger 

  • 4 garlic cloves, finely grated

  • 1 teaspoon garam masala 

  • 1 teaspoon ground turmeric 

  • 1 teaspoon ground coriander 

  • 1 teaspoon ground cumin 

  • 1/4 to 1 teaspoon cayenne pepper (to taste)

  • Seeds from 4 cardamom pods

  • One 15-ounce can crushed tomatoes

  • 1/2 cup water

  • 1/4 cup heavy cream (optional)


  1. In a large frying pan, heat the oil or ghee over medium high heat. Add the onion and 1 teaspoon of sea salt and cook, stirring occasionally, until the onions are medium brown, about 8 to 10 minutes. Add the ginger and garlic and cook for 1 minute more. Add all of the spices and cook for about 30 seconds, stirring constantly.

  2. Stir in the crushed tomatoes, scraping the bottom of the pan to remove any browned bits. Add 1/2 cup of water to the pan, reduce the heat to low and slowly simmer for about 15 minutes, or until the sauce thickens and begins to splatter.

  3. Remove from the heat and allow the curry to cool for a couple minutes, then stir in the heavy cream, if using. Season it with sea salt to taste.

Serve With

Basmati rice and naan if desired.

Related Articles