Heat a deep, large frying pan over high heat. Add half the oil and all the mushrooms, cook, shaking the pan occasionally for 5 minutes until mushrooms are just tender. Remove to a bowl. Add remaining oil and curry leaves (if using) to the hot pan and cook for 1 minute or until curry leaves are crisp. Remove to a plate lined with paper towel.
Cut fish into 6cm pieces. Reduce heat to medium, add curry paste, cook, stirring often for 2 minutes or until fragrant. Add fish and cook for 2 minutes, turning to coat both sides.
Add the stock and coconut milk. Bring to the simmer. Reduce heat to medium-low, cover and simmer 5 minutes until fish just cooked through. Add the mushrooms and capsicum to the curry, simmer uncovered 3-4 minutes until warmed through. Stir in green onions.
Scatter over the fried curry leaves, shallots and coriander. Serve with and steamed rice and or roti.