This one-pan spicy tomato fish curry brings restaurant flavor to your weeknight table with almost no fuss. I first tried a version after spotting thick fish steaks at the market and craving something bright and saucy. The chili-rubbed fish simmers gently with tomatoes, onions, and green peppers until the sauce turns rich and fragrant. Served over rice, it feels comforting yet light. The whole process stays simple, and the result always disappears fast at our table.
While you’re at it: One-pan garlic shrimp skillet
Why you’ll love this recipe
This recipe delivers bold flavor with minimal cleanup and everyday ingredients.
- Bold chili and tomato sauce coats every bite
- One pan means almost no dishes afterward
- Ready from start to finish in about thirty minutes
- Perfect weeknight dinner that still feels special
Ingredients
Gather these simple ingredients to create a vibrant, saucy fish curry that tastes like it simmered for hours.
- 1.5 lb fish steaks
- 2 tsp red chili powder
- 1 tsp salt
- 1 large onion, sliced
- 2 medium tomatoes, sliced
- 1 green bell pepper, sliced
- 3 cloves garlic, minced
- 3 tbsp oil
- 1 cup water or light stock
- Fresh cilantro for garnish
- Cooked white rice for serving

If fish steaks are unavailable, firm white fish fillets work well; just reduce simmer time slightly. Swap green bell pepper for mild chili if you prefer more heat, or use canned diced tomatoes when fresh ones are not in season.
Check this out too: Quick tomato basil pasta
Step-by-step instructions
Follow these clear steps to build deep flavor while keeping the fish tender and the sauce bright.
Step 1: Season the fish
Place the fish steaks in a large bowl. Sprinkle red chili powder and salt evenly over both sides, then toss gently until every piece is coated in the vibrant red spice mixture.
Step 2: Prep the vegetables
Slice the onion, tomatoes, and green bell pepper into even rounds or strips. Mince the garlic so it releases its aroma quickly once it hits the hot pan.
Step 3: Heat the oil
Pour the oil into a wide pan or wok set over medium heat. Let it warm until it shimmers lightly, creating the base for sautéing the aromatics without burning them.

Step 4: Sauté the aromatics
Add the minced garlic and cook for about thirty seconds until fragrant. Toss in the sliced onion, tomatoes, and green pepper, stirring until the vegetables begin to soften and release their juices.
Step 5: Add the fish
Nestle the seasoned fish steaks into the pan among the vegetables. Arrange them in a single layer so each piece makes good contact with the sauce and heat.
Step 6: Pour in the liquid
Gently pour the water or light stock around the fish. Bring the mixture to a gentle simmer so the sauce starts to thicken and the flavors meld together.
Step 7: Simmer until done
Cover and cook for eight to ten minutes, spooning sauce over the fish occasionally. The fish is ready when it flakes easily and the sauce has turned rich and glossy.

Spicy Tomato Fish Curry
Equipment
- 1 Large mixing bowl
- 1 | Wide pan or wok |
- 1 | Sharp knife |
- 1 | cutting board |
- 1 | Spatula or wooden spoon |
Ingredients
- 1.5 | lb | fish steaks |
- 2 | tsp | red chili powder |
- 1 | tsp | salt |
- 1 | large | onion | sliced
- 2 | medium | tomatoes | sliced
- 1 | | green bell pepper | sliced
- 3 | cloves | garlic | minced
- 3 | tbsp | oil |
- 1 | cup | water or light stock |
- 1 | handful | fresh cilantro | for garnish
- 4 | servings | cooked white rice | for serving
Instructions
- Place fish steaks in a bowl and season with red chili powder and salt; toss to coat.
- Slice onion, tomatoes, and green bell pepper; mince the garlic.
- Heat oil in a wide pan over medium heat.
- Add garlic and cook until fragrant, then stir in onion, tomatoes, and green pepper until they begin to soften.
- Nestle the seasoned fish into the pan among the vegetables.
- Pour in water or stock and bring to a gentle simmer.
- Cover and cook 8–10 minutes until fish flakes easily, spooning sauce over occasionally.
- Sprinkle with fresh cilantro, stir gently, and serve over rice.
Notes
Reheat gently on the stove with a splash of water to loosen the sauce.
Pat fish dry before seasoning so the spice coating sticks well.
Adjust chili powder to control the heat level.
Step 8: Finish and serve
Scatter fresh cilantro over the top and give everything a final gentle stir. Spoon the fish and sauce over hot rice and serve immediately while everything is still steaming.
Tips & common mistakes
A few small habits keep the fish moist and the sauce perfectly balanced every time.
- Do not overcrowd the pan or fish steams instead
- Keep heat medium to avoid tough, dry fish
- Taste the sauce before serving and adjust salt
- Use fresh cilantro only at the end for bright flavor

Recipe variations
Simple swaps let you adapt this curry to different tastes or whatever is in your kitchen.
- Add extra chili flakes for a much spicier version
- Use coconut milk instead of water for a richer finish
- Swap fish for firm tofu to make it fully vegetarian
- Try baking the seasoned fish and sauce in the oven
What to serve with this recipe
Pair the curry with sides that soak up the sauce and balance the gentle heat.
- Steamed jasmine or basmati rice for classic comfort
- Warm flatbread to scoop up every drop of sauce
- Simple cucumber salad for cool, crisp contrast
- Light lager or sparkling water with lime
One more to try: Crispy vegetable spring rolls
Frequently asked questions
Here are quick answers to the questions home cooks ask most often about this dish.
Can I use frozen fish steaks?
Yes, thaw them completely in the refrigerator overnight and pat dry before seasoning so the spices stick and the sauce stays thick.
How do I know when the fish is cooked?
The flesh turns opaque and flakes easily with a fork. Avoid overcooking, which can make the steaks dry and rubbery.
Can I make this ahead of time?
The curry tastes best fresh, but leftovers keep in the fridge for two days. Reheat gently on the stove with a splash of water.
Is this recipe very spicy?
The heat level is moderate from the chili powder. Reduce the amount or choose a milder powder if you prefer less spice.
Final thoughts
This spicy tomato fish curry proves that a satisfying, flavorful dinner does not need a long list of ingredients or hours of work. The chili-rubbed fish, bright vegetables, and rich sauce come together quickly and always feel like a treat. Give it a try on your next busy evening, then leave a comment or rating below so others can see how it turned out for you. Happy cooking!





