On busy nights, I lean hard on dinners that feel a little special without turning the kitchen upside down. This rice with fish recipe is exactly that kind of meal, a one-pan supper with tender cod, fluffy basmati rice, and a saffron-scented broth that smells like something far fancier than a 30-minute weeknight dinner.
It lands right in that sweet spot between healthy and comforting, with Mediterranean flavors running through every bite. Think flaky fish, briny olives and capers, sweet tomatoes, and just enough basil to make the whole pan taste bright and fresh.
Why You’ll Love This Recipe
Weeknight-friendly elegance: In my kitchen, this is the kind of one-pan meal that looks and tastes restaurant-worthy, but it comes together with pantry staples and almost no fuss.
The secret twist: A splash of dry white wine wakes up the pan after the basmati rice toasts, adding a clean acidity that balances the richness of extra virgin olive oil and the natural oils in the fish.
Deep flavor without extra time: Swapping plain water for saffron-infused seafood broth or vegetable broth gives the rice a subtle, paella-like character, and the grains absorb all that flavor as they simmer.
Great texture every time: Toasting the rice first helps keep the grains separate and light, while the cod fillets steam gently on top until they turn perfectly flaky and opaque.
Ingredients and Substitutions

These ingredients are simple, but each one pulls its weight. The olives, capers, basil, and saffron broth build that sunny Mediterranean flavor that makes this dish memorable.
Ingredients
Fish:
- 650 g fish (we used Icelandic cod or any meaty fish like halibut)
- 2 Tbsp e.v.o. oil
- salt and pepper
Rice:
- 150 g ( 3/4 cup ) basmati rice
- 2 Tbsp e.v.o. oil
- 1/4 cup Kalamata olives pitted and halved
- 325 ml water
- salt and pepper
Tomatoes:
- 170 g ( 1 cup ) cherry or grape tomatoes
- 1 Tbsp capers
- A few basil leaves, torn
- salt and pepper
Garnish:
- Fresh basil leaves
- Extra virgin olive oil
Ingredient Notes & Substitutions
Fish: Thick, meaty white fish works best here. I usually reach for cod fillets, but halibut or sea bass are also excellent as long as the fillets are sturdy enough to steam without falling apart.
Basmati rice: Basmati is ideal because it cooks fairly quickly and stays fluffy. Its long grains hold up beautifully in a one-pan meal, especially after that quick toast in olive oil.
325 ml water: In the pan, I strongly recommend replacing this with saffron-infused seafood broth or vegetable broth. That single switch gives the rice a fuller, more savory backbone without changing the cooking time.
Dry white wine: You will also want a small splash for deglazing after the rice toasts. A dry, crisp wine such as pinot grigio or sauvignon blanc adds brightness and keeps the dish from tasting flat.
Kalamata olives, capers, and basil: These are the Mediterranean flavor anchors. The olives bring richness, the capers add little salty pops, and the basil softens everything with a fresh, sweet finish.
Tomatoes: Cherry or grape tomatoes are perfect because they hold their shape while turning jammy on top of the rice. If that is what you have on hand, diced Roma tomatoes can work, but they will release a bit more juice.
How to Make rice with fish recipe
Prep the fish and build the base
- Pat the fish dry if needed, then brush both sides with the olive oil. Season each side with salt and pepper so the fillets are well flavored before they ever hit the pan.
- Set a medium deep sauté pan over medium heat and add the oil for the rice. Stir in the basmati rice and Kalamata olives, then cook for about 1 minute, moving the rice around until the grains look glossy and lightly toasted and you catch a warm, nutty aroma.
- Pour in a splash of dry white wine to deglaze the pan. Let it hiss and bubble for a few seconds, scraping up any flavorful bits on the bottom before you move on.
Simmer the rice and prepare the tomatoes
- Pour 325 ml of saffron-infused broth into the rice, replacing the water called for in the ingredient list. Season with salt and pepper, give it a brief stir, cover the pan, and bring it to a boil.
- While the liquid is coming up to a boil, halve the cherry or grape tomatoes and place them in a bowl. Toss them with a little olive oil, salt, pepper, and torn basil until they look lightly coated and fragrant.
Add the fish and finish the pan
- As soon as the rice is boiling, nestle the cod into the pan, pressing it down into the rice so the fillets are surrounded by the hot, simmering mixture. Spoon the tomato mixture over the top, then scatter on the capers and a little more torn basil.
- Cover and cook for 10 minutes. After that, remove the lid and cook for an additional 2 minutes so any extra moisture can evaporate and the rice finishes tender rather than wet.
Garnish and serve
Finish the pan with fresh basil leaves and a drizzle of extra virgin olive oil. The fish should be opaque and easy to flake with a fork, and the rice should smell buttery, briny, and deeply aromatic from the saffron broth.
Chef Secrets for Perfection
The fish is done when it turns opaque and flakes easily with gentle pressure, but the best safeguard is temperature. For most white fish, I aim for 145°F in the thickest part, then pull it promptly so it stays moist instead of dry and cottony.
Toasting the rice first is not just a chef habit, it is texture insurance. The oil lightly coats the starches on the outside of the basmati rice, which helps the grains stay separate and fluffy rather than swelling into a sticky mass.
Once the liquid is simmering, resist the urge to stir. Agitating the pot can break the rice, release extra starch, and turn what should be light and distinct into something gummy.
Choosing the Right Fish for One Pan Meals

For this style of cooking, look for firm white fish that can handle gentle steaming without disintegrating. Cod, halibut, and sea bass are all smart choices, and even firm white fish varieties like black sea bass fit the same logic because they hold their shape and still cook up tender.
Thin, delicate fish such as flounder or tilapia are less dependable here. They tend to overcook quickly and can break apart during the 10-minute steaming window, leaving you with shreds of flaky fish instead of neat pieces nestled into the rice.
Fresh and frozen fish both work, but frozen fillets need a little care. Thaw them fully in the refrigerator, then pat them very dry with paper towels so excess moisture does not drip into the pan and make the rice mushy.
Adapting for Different Rice Varieties
Basmati rice is the easiest fit because its timing lines up neatly with the fish, but other grains can still work if you adjust the sequence. If you switch to jasmine rice, expect a slightly softer, more aromatic finish and keep an eye on the liquid, since it can turn tender a bit faster depending on the brand.
For brown rice or any slower-cooking grain, let the rice simmer on its own first and only add the fish during the final 10 minutes. That timing matters because fish cooks much faster than rice, and adding it too soon is one of the easiest ways to end up with dry fillets.
If you want to branch into heartier grains, think of the method the same way you would when planning a dish inspired by wild rice pilaf. Slow-cooking grains need more broth, a gentler simmer, and patience before the fish goes in.
To keep the bottom from scorching, use medium to medium-low heat once the liquid is at a steady simmer. A heavy pan helps a lot, and if the rice is cooking more slowly than expected, lower the heat rather than cranking it up, because trapped steam does the real work here.
Pro Tips & Troubleshooting
Pro Tips
- Pat the fish fillets completely dry with a paper towel before seasoning. This helps them steam neatly instead of shedding water into the rice.
- Toast the rice in the oil before adding any liquid. Even 1 minute makes a real difference in keeping the grains fluffy and separate.
- Once the rice is simmering, leave it alone and keep the lid on. Steam is what cooks the fish and finishes the rice evenly.
- After cooking, let the pan rest off the heat with the lid on for 5 to 10 minutes. That short rest helps the rice absorb lingering moisture and finish with a better texture.
Common Mistakes to Avoid
- Adding the fish too early when using brown rice or another slow-cooking grain. The rice needs a head start, or the fish will overcook before the pan is ready.
- Using thin, delicate fillets that cannot stand up to steaming in the rice. Thick cuts of white fish are far more reliable.
- Lifting the lid repeatedly to peek. It is similar to the logic behind hands-off chicken and rice, where trapped steam is essential for even cooking and tender grains.
Serving & Storage

Serving Ideas
I love this dish with buttered green peas or a crisp cucumber and tomato salad. Something cool and acidic on the side balances the richness of the olive oil and the savory broth beautifully.
A final squeeze of lemon juice wakes everything up, and a little lemon zest scattered over the top makes the basil and saffron feel even brighter. If you want a creamy finish, a spoonful of garlic aioli or tzatziki is excellent alongside.
This pan also welcomes a few flavor detours. For a Spanish-inspired version, add smoked paprika and a little garlic with the rice, and for an Asian-style spin, use a soy and ginger marinade on the fish, then turn leftovers into a quick fried rice with peas and green onions the next day.
Storage & Make-Ahead
Leftover fish and rice keep well in an airtight container in the refrigerator for up to 2 days. Because seafood is delicate, I do not recommend pushing it much longer if you want the texture to stay pleasant.
To reheat, add a small splash of broth or water to the pan or microwave dish, then cover loosely and warm gently. Low, moist heat is the trick, because blasting it dry will turn the fish rubbery and make the rice tough around the edges.
If you want a little head start, you can prep the tomatoes and season the fish ahead of time. I would still cook the dish fresh, though, since the texture of flaky fish is always best right after steaming.

Rice With Fish Recipe
Equipment
- Medium deep saute pan
Ingredients
Fish:
- 650 g fish (we used Icelandic cod or any meaty fish like halibut)
- 2 Tbsp e.v.o. oil
- salt and pepper
Rice:
- 150 g ( 3/4 cup ) basmati rice
- 2 Tbsp e.v.o. oil
- 1/4 cup Kalamata olives pitted and halved
- 325 ml water
- salt and pepper
Tomatoes:
- 170 g ( 1 cup ) cherry or grape tomatoes
- 1 Tbsp capers
- A few basil leaves, torn
- salt and pepper
Garnish:
- Fresh basil leaves
- Extra virgin olive oil
Instructions
Prep the fish and build the base
- Pat the fish dry if needed, then brush both sides with the olive oil. Season each side with salt and pepper so the fillets are well flavored before they ever hit the pan.
- Set a medium deep saute pan over medium heat and add the oil for the rice. Stir in the basmati rice and Kalamata olives, then cook for about 1 minute, moving the rice around until the grains look glossy, lightly toasted, and smell nutty.
- Pour in a splash of dry white wine to deglaze the pan. Let it hiss and bubble for a few seconds, scraping up any flavorful bits on the bottom before moving on.
Simmer the rice and prepare the tomatoes
- Pour 325 ml of saffron-infused broth (or water) into the rice. Season with salt and pepper, give it a brief stir, cover the pan, and bring it to a boil.
- While the liquid is coming up to a boil, halve the cherry or grape tomatoes and place them in a bowl. Toss them with a little olive oil, salt, pepper, and torn basil until they look lightly coated and fragrant.
Add the fish and finish the pan
- As soon as the rice is boiling, nestle the cod into the pan, pressing it down into the rice so the fillets are surrounded by the hot, simmering mixture. Spoon the tomato mixture over the top, then scatter on the capers and a little more torn basil.
- Cover and cook for 10 minutes. After that, remove the lid and cook for an additional 2 minutes so any extra moisture can evaporate and the rice finishes tender rather than wet.
Garnish and serve
- Finish the pan with fresh basil leaves and a drizzle of extra virgin olive oil. The fish should be opaque and easy to flake with a fork, and the rice should smell buttery, briny, and deeply aromatic.
Notes
Nutrition
Conclusion
This is the kind of dinner that proves simple ingredients can still feel generous and polished. The saffron broth and splash of white wine turn a humble pantry meal into a deeply flavorful one-pan favorite.
If you give it a try, I hope you make it your own with a few small twists along the way. And if easy skillet dinners are your style, the same cozy, hands-off appeal shows up in dishes like chicken and rice too.












