Cut the tomatoes in small pieces and keep aside.
Heat oil in a pan and add the mustard seeds.
When the mustard seeds start spluttering, add the curry leaves and fry for few seconds.
Carefully add the chopped fresh tomatoes to the pan.
Add salt and mix well (if you are using ginger garlic paste instead of onion, garlic powders, you can add now and saute well).
Cook in medium to high heat for few minutes, say 3 to 4 minutes, with stirring in between to make sure the curry is not burning at the bottom of the pan. You may also close the pan and cook the tomatoes in low heat for another 2 to 3 minutes if you want the tomatoes to be really soft and melt into the gravy. As the tomatoes get cooked, the juice of the tomatoes will be released and the gravy is formed naturally when it combines with the oil.
Once the tomatoes are cooked, add all the spices - onion powder, garlic powder (if using, otherwise you can skip them), turmeric powder, coriander powder, cumin seeds powder, garam masala powder, red chili powder, black pepper to the tomato gravy in the pan and stir in.
Mix everything well and cook for another two to three minutes until the flavors are all well blended with the tomato gravy. It is best to cook the gravy until the gravy starts to separate from the oil, which takes only a few minutes. I didn't use coconut milk to prepare this tomato curry, but if you wish to make this tomato curry creamy, you may also add two to three tablespoons of coconut milk or heavy cream (stir in to the prepared curry), to make it even more delicious and creamy. Enjoy the delicious tomato curry hot with chapathis, rice, dosa etc