2 lengthwise slices fresh ginger (each 1-inch/2.5-cm long, 1-inch/2.5-cm wide and 1/8-inch/0.3-cm thick), cut into matchstick strips
1 large tomato, cored and finely chopped (no need to remove seeds)
Sprinkle and coat each fish filet on both sides with turmeric.
In large saucepan over medium-high heat, add 2 Tbsp (30 mL) canola oil. Add filets to pan and allow underside to sear to light brown, sun-yellow color, 1 to 2 minutes. Flip them over and sear other sides to similar color, 1 to 2 minutes. Remove filets from pan and set on plate. Drizzle another 2 Tbsp (30 mL) canola oil into hot pan. Add onion, cardamom pods and cinnamon sticks to pan and stir-fry until onion is partially browned and smells aromatic, about 3 minutes.
Pour in coconut milk and add pepper, salt, bay leaves and ginger. Stir once or twice to incorporate flavors. Return filets, including any pooled liquid, to pan. Cover filets with creamy sauce. Reduce heat to medium-low, cover pan and poach, basting slabs occasionally, until fish feels firm and barely starts to flake, 5 to 7 minutes.
Put filets on serving platter and cover with plastic wrap or aluminum foil to keep warm. Add tomato to pan. Raise heat under pan to medium-high and cook, uncovered, stirring occasionally, until sauce thickens, 1 to 2 minutes.
Pour sauce over filets and serve immediately with steamed rice noodles, red rice or basmati rice.