If you’re looking for a cozy, quick, and affordable dish that’s both light and deeply flavorful, this one pot coconut rice and fish recipe checks every box. It’s made with creamy coconut milk, pesto, tender flaky fish, fresh cherry tomatoes, and fluffy rice—all gently simmered together in one pan. Whether you’re new to cooking fish or just looking for easy cleanup, this dish delivers.
This one-pot coconut rice is exactly what it sounds like: it’s quick, low effort, and full of healthy carbs and protein. But there’s also layers of flavors: the rice is toasted in pesto, simmered in coconut milk, then topped with cherry tomatoes.
The process couldn’t be easier. Just like the name suggests, you basically add everything to a pot. Of course, there’s a method to the madness and we start by toasting the rice. Instead of using olive oil, the recipe calls for pesto (although homemade is always better, a good-quality store-bought pesto works great, too).
While the rice is cooking, you’ll have enough time to prepare everything else. And that basically means cutting and seasoning the fish and halving the tomatoes. Any white fish fillet will work here – cod, tilapia, haddock.
Add them to the rice, and let it cook for another 10 minutes. Finish it off with a few extra dollops of pesto and serve. That’s it. That’s dinner!
Why You’ll Love This One Pot Coconut Rice and Fish
The best thing about this dish is how easy and quick it is. Anyone can do it. It’s also incredibly affordable and it’s a healthy, nutritious meal, making a great weeknight dinner.
And of course, it’s only one pot to clean – always a plus. Despite its simplicity, we take every opportunity to elevate the flavors: instead of olive oil, we toast the rice in pesto, instead of water, we cook it in coconut rice, and in order to make it even healthier, we top it with cherry tomatoes.
This coconut rice and fish is also flexible and easily customizable. You can use any white fish, from tilapia to cod. You can also use shrimp and you can add any other vegetables you like.
All of this is done in about 30 minutes and it requires very little prep.
The coconut flavor is very subtle, but if you don’t like coconut just sub for chicken stock. Most white fish are mild in flavor, so they go really well with bolder flavors such as pesto. The final dish is a delicate, buttery fish served with rice that’s not boring and topped with a little salad.
Tips for the Best Coconut Rice and Fish
For fluffier rice, I like rinsing it really well to remove the excess starch. Then I soak the rice for 15 to 30 minutes and then drain to get rid of the excess water. These extra steps make a big difference, but don’t require a lot of work, just a little planning ahead.
I always use full-fat coconut milk for best flavor, so I suggest using that.
When it comes to the fish, it’s easy to overcook it. Cut it in equal sizes for even cooking. Depending on the thickness of the fish, the cooking time might differ, but a good rule of thumb is to cook it for about 10 minutes. So keep that in mind.
If you want to add more veggies, spinach is a great option. You can also try peas, corn, carrots, or anything your heart desires.
For a healthier version, use brown rice (you’ll have to adjust the liquid ratios and cook time).
Instead of pesto, you can add Thai curry paste to the base. For a nice texture, garnish the final dish with toasted coconut or fried shallots
This recipe is adapted from Jamie Oliver’s One-Pan Fabulous Fish.
Ingredients
4 tbsp pesto, divided
1 cup jasmine rice
1 cup coconut milk
1 cup chicken stock
1 cup cherry tomatoes, halved
1 tbsp olive oil
1 tbsp red wine vinegar
3 white fish fillets (such as cod, haddock, or tilapia)
salt and black pepper
Directions
Heat 2 tbsp pesto in a medium pot over medium heat. Add in the rice and stir it for 3 to 5 minutes. The idea is to toast the rice until it browns ever so slightly, giving it a nutty flavor.
Add in the coconut milk and chicken stock. Bring to a boil, cover, and turn the heat to a low simmer for 10 minutes.
Meanwhile, prepare the tomatoes and fish: halve the cherry tomatoes, and add to a bowl. Mix with olive oil and vinegar; season with salt and pepper.
Cut the fish fillets into equal-sized pieces (I just cut mine into 3 pieces). Season with salt and pepper.
Place the fish and tomatoes on top of the rice. Put the lid back on and cook for another 10 minutes, until the rice is cooked through and all the liquid has evaporated.
Spoon the remaining pesto over the rice and fish, and serve.

Great Read –
Stay Blessed – Mel
Keto Recipes – https://ketodietrecipes.co.uk/