- With the rack in the middle position, preheat the oven to 350°F (180°C).
- In a large ovenproof pot, brown the onions in the oil. Add the garlic and spices. Cook for 1 minute, stirring constantly. Add the rice and stir well to coat with the spices and oil. Add the broth, cilantro and black beans. Season with salt and pepper. Bring to a boil. Cover and transfer to the oven for 25 minutes or until the broth has been absorbed. Let rest for 5 minutes and stir gently with a fork.
- Meanwhile, in a large skillet, bring the tomatoes, onion, oil, lime juice and red pepper flakes to a boil. Simmer until the tomato juice is almost completely evaporated, about 20 minutes. Add the cilantro and stir.
- Add the fish and cover with the tomato mixture. Cover the skillet and simmer for about 3 minutes or until the fish is cooked. Season with salt and pepper. Serve the fish and tomato sauce with the rice mixture.