Main Courses
This Arabic fish and rice recipe delivers the bold, aromatic flavors of the Middle East in a single, elegant dish. The magic lies in slow-cooked spices—cumin, coriander, and cinnamon—that infuse tender fish and fragrant basmati rice with deep, earthy warmth. I perfected this one-pot method after years of testing traditional techniques, ensuring every bite balances bright lemon, fresh herbs, and tender protein. What sets this dish apart is the layering of flavors: caramelized onions and tomatoes form the base, while the fish cooks gently in spiced broth, absorbing the essence of the rice below. No separate pots, no fuss—just a foolproof method that yields restaurant-quality results with minimal effort. The spices toast briefly to release their oils, creating a fragrant aroma that transforms your kitchen into a Middle Eastern home. By the time you serve this dish, your table will be graced with golden, fluffy rice studded with perfectly cooked fish fillets. The lemon-coriander sauce ties everything together, adding a zesty brightness that cuts through the richness. It’s a meal that feels special yet simple, perfect for weeknight dinners or weekend gatherings. Serve with a simple cucumber-yogurt salad to balance the richness, or enjoy it as-is with warm pita bread. Here’s how to make it shine.
Ingredients for arabic fish and rice
Pantry staples meet Middle Eastern magic in this one-pot wonder.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Firm white fish like cod or haddock |
| Long-Grain Basmati Rice 🍚 | 1 cup | Uncooked, rinsed well |
| Yellow Onions 🧅 | 1 whole | Thinly sliced, caramelized |
| Canned Diced Tomatoes 🍅 | 1 can | San Marzano preferred, drained |
| Ground Cumin 🌿 | 1 tbsp | Toasted for deeper flavor |
| Ground Coriander 🌿 | 1 tbsp | Freshly ground preferred |
| Ground Cinnamon 🌿 | ½ tsp | For subtle warmth |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Fresh Lemon Juice 🍋 | ¼ cup | Freshly squeezed |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, stems removed |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For cooking and finishing |
| Vegetable Broth 💧 | 2 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The fish is your star, so pick something firm like cod or haddock—Trader Joe's or Whole Foods carry great options. For the spices, Penzeys or bulk bins at Middle Eastern markets are ideal, but the grocery store stuff works too. Look for whole spices if you can toast them yourself—just a dry pan for 30 seconds to wake up their flavors. The basmati rice should be long-grain and rinsed until the water runs clear (I use about 3 cups of water per cup of rice). Don't skip rinsing—it removes excess starch for fluffier grains. If you're short on time, pre-cut frozen onions save chopping, though caramelizing fresh is worth the extra minute.
No fresh cilantro? Dried works at half the amount, but the bright flavor is worth hunting down. Running low on lemon juice? Substitute bottled with a pinch of sugar—it's not perfect, but it saves the dish. The vegetable broth can be swapped for water, but the low-sodium kind prevents over-salting. If you're using canned tomatoes, San Marzano is the gold standard, but any good-quality canned tomatoes will do. For the fish, if you can't find fillets, ask the fish counter to cut them for you—they'll give you even, tender pieces. And if you're feeling fancy, add a pinch of turmeric to the rice for extra color and earthiness.
This dish tastes even better the next day—make extra rice for lunches. Store in an airtight container with a layer of olive oil on top to keep the fish moist. Keeps for 3-4 days in the fridge, or freeze portions for up to 3 months. For reheating, add a splash of water or broth to prevent drying. The flavors meld beautifully overnight, so plan ahead if you can. And if you've got leftovers, it makes an amazing breakfast hash—just crisp it up in a pan with some fresh herbs.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to wash a million dishes—just toss everything in one pot, let it simmer, and boom. The rice soaks up all the tomato-cumin goodness while the fish flakes apart like it’s been slow-cooked for hours (but it’s not).
- Earthy & Bright: That cumin-toasted onion base? It’s where the flavor lives. The tomatoes add a tangy sweetness that balances the fish perfectly, and honestly, the first bite makes me wonder why I don’t make this more often.
- Lunchbox Hero: Between us, this is my go-to for meal prep—portion the rice and fish separately, and you’ve got a lunch that feels fancy but costs next to nothing. My kids grab it cold or reheated, and they never complain (a win in my book).
- Budget Win: White fish is affordable, basmati rice lasts forever, and canned tomatoes? Always on sale. I stretch this recipe to feed four for under $15, and the leftovers? Just as good the next day—if they last that long.
Step-by-step instructions for Arabic fish and rice
This one-pot wonder combines fragrant spices, tender fish, and fluffy rice for a dish that's easier than it looks.
Toast the Spices and Caramelize the Onions
Heat the 0.5 cup extra-virgin olive oil in a large, heavy-bottomed pot over medium heat. Add the 1 whole yellow onions and cook for 10-12 minutes, stirring occasionally, until deep golden brown and caramelized. This step builds rich flavor that forms the base of your dish.
Once the onions are caramelized, reduce heat to medium-low and add the 1 tbsp ground cumin, 1 tbsp ground coriander, and 0.5 tsp ground cinnamon. Stir constantly for 1-2 minutes until the spices are fragrant and the raw aroma disappears. This ensures you get all the warm, earthy notes without bitterness. The spices should look evenly distributed and smell vibrant—this is your aromatic foundation.
Cook the Garlic and Tomatoes
Add the 4 cloves minced garlic to the pot and cook for 30 seconds until fragrant but not browned. Immediately stir in the 1 can drained diced tomatoes and cook for 3-4 minutes until the mixture thickens slightly. You're creating a simple but flavorful base that will infuse the fish and rice.
Here's the thing—don't rush this step. The tomatoes should break down just enough to release their juices, creating a slightly chunky sauce. If it looks too dry, add 2 tablespoons vegetable broth to keep it moist. The goal is a thick, aromatic paste that will coat every grain of rice and flake of fish.
Layer the Rice and Fish
Rinse the 1 cup long-grain basmati rice thoroughly under cold water until the water runs clear. Spread the rice evenly over the tomato-spice mixture in the pot. Gently press down to create a level surface, then place the 1.5 lb white fish fillets on top of the rice. The fish should sit comfortably without sinking into the rice.
Pour the 2 cups vegetable broth over the entire pot, making sure the rice and fish are submerged. Sprinkle with 1.5 tsp salt and 0.5 tsp black pepper. The liquid should come about halfway up the sides of the fish fillets. If it looks too shallow, add a splash more broth to ensure everything steams properly.
Simmer Until Fish is Flaky and Rice is Tender
Cover the pot tightly with a lid and bring to a gentle simmer over medium-low heat. Cook for 15 minutes without lifting the lid. This steaming process allows the fish to cook through while the rice absorbs the flavorful broth. The key here is patience—resist the urge to check early or you'll lose steam and dry out the fish.
After 15 minutes, carefully check the fish with a fork. It should flake easily when tested at its thickest part. If it's not quite there, cover and cook for another 3-5 minutes. The rice should be tender but still have a slight bite—it will finish cooking from the residual heat. If the liquid has completely evaporated before the fish is done, add 2 tablespoons vegetable broth to prevent drying.
Finish with Lemon and Herbs
Once the fish is perfectly flaky and the rice is tender, remove the pot from heat. Let it sit covered for 5 minutes to allow the flavors to meld. Then stir in the 0.25 cup fresh lemon juice, 0.25 cup chopped cilantro, and 0.25 cup chopped parsley. The lemon brightens all the warm spices, cutting through the richness while adding a fresh, zesty finish.
Garnish with additional parsley if desired and serve immediately. The dish should have vibrant colors—golden rice, flaky white fish, and bright green herbs—with an aroma that's a perfect balance of spicy, citrusy, and herbal notes. Each bite delivers tender fish, fragrant rice, and a complex sauce that's simple yet deeply satisfying. This one-pot approach keeps everything cohesive and makes cleanup a breeze.
Pro Tips For Making Arabic Fish And Rice
- Sear the Onions Slow: Don’t rush the onions—they’re the flavor base here. Cook them on medium-low heat for 8–10 minutes until deep golden, not browned, stirring occasionally. I used to crank the heat and end up with bitter, burnt bits that ruined the whole dish. Patience here means richer taste later.
- Toast the Cumin First: Bloom that ground cumin in oil for 30 seconds before adding anything else. It releases its aroma and prevents a raw, earthy aftertaste. I learned this the hard way—skipping it makes the dish smell like a spice cabinet, not a meal.
- Don’t Overcrowd the Fish: Lay the fish fillets in a single layer when searing, even if it means working in batches. Crowding steams them instead of browning, and you’ll end up with sad, gray fish instead of crisp edges. A hot, dry pan is your friend here—no shortcuts.
- Rinse the Rice Twice: Give that basmati rice a quick rinse in cold water, then drain and repeat. It removes excess starch so the grains stay separate and fluffy, not gummy. I used to skip this and ended up with a gluey mess—now I treat it like pasta water prep.
Common mistakes when making great arabic fish and rice
Overcooking Fish
Fish is delicate and cooks faster than you might expect. I’ve ruined this dish more times than I’d like to admit by leaving it on the heat too long. The moment the fish flakes easily with a fork at its thickest part, it’s done—usually around 15-20 minutes total cooking time. If you overcook it, the texture becomes rubbery and dry. To avoid this, set a timer and check the fish 2-3 minutes before you think it’s ready. 🐟
Skipping Spice Toasting
One of the biggest flavor mistakes is not toasting the spices. The moment you add ground cumin, coriander, and cinnamon to the pot, reduce the heat to medium-low and stir constantly for 1-2 minutes. This step releases their essential oils and deepens their flavor. If you skip it, your dish will taste flat and underseasoned. I’ve learned the hard way—trust me, the extra minute makes a world of difference. 🌿
Uneven Rice Cooking
The rice can turn out either mushy or undercooked if you don’t distribute the liquid properly. When layering the rice and fish, make sure the broth covers the rice but doesn’t drown the fish. If the liquid evaporates too quickly, the rice will cook unevenly. To prevent this, add a splash of broth if needed, and avoid lifting the lid during cooking. The goal is to steam the rice gently—like a gentle hug, not a pressure cooker. 🍚
Using the Wrong Fish
Not all fish are created equal. Firm, white fish like cod, haddock, or sea bass work best because they hold up to the spices and don’t fall apart. Delicate fish like tilapia or flounder can turn to mush. If you’re unsure, ask your fishmonger for a recommendation. I’ve tried this recipe with cheaper, softer fish, and it’s a disaster—so choose wisely! 🐟
Ignoring the Resting Time
After cooking, let the dish rest covered for 5 minutes before serving. This allows the fish to reabsorb its juices and the rice to finish cooking evenly. Skipping this step can leave the fish dry and the rice slightly undercooked. It’s tempting to dig in immediately, but patience here makes all the difference. Trust the process! ⏳
Overcrowding the Pot
If your pot is too small, the fish and rice won’t cook evenly, and the dish can turn out soggy or unevenly cooked. Use a pot that’s large enough to accommodate the rice and fish in a single layer without overcrowding. A 6-quart Dutch oven or similar-sized pot works perfectly. Overcrowding is a common mistake, but a little extra space ensures everything cooks just right. 🍲
Nutrition facts
Frequently asked questions
Can I use shrimp instead of white fish in this recipe?
Shrimp works beautifully and cooks much faster than fillets. Use 1.5 lbs of peeled, deveined shrimp and reduce the cooking time to 8-10 minutes after the rice starts simmering. Add them to the pot just before the final 5-minute resting period to prevent overcooking. The shrimp will absorb the spiced broth perfectly.
What's the best way to make this dish vegetarian?
Replace the fish with 1.5 lbs of firm tofu or chickpeas for a hearty vegetarian version. Press tofu first to remove excess water, then cut into chunks. Chickpeas work well too—just add them with the rice and increase cooking time by 5 minutes. Boost flavor with an extra 0.5 tsp turmeric and 1 tsp smoked paprika to mimic the fish's savory notes.
How can I adjust this recipe for a larger group?
Double all ingredients and use a 8-quart pot to maintain even cooking. For 8 servings, you'll need 3 lbs fish, 2 cups rice, and 4 cups broth. Keep the same proportions—1 cup rice per 1.5 lbs fish—and cook in batches if needed. The key is maintaining the same layering technique to prevent uneven cooking.
Can I prepare this ahead of time?
Yes! This dish tastes even better reheated. Cook completely, then let cool before refrigerating in an airtight container for up to 3 days. To reheat, add 2 tablespoons broth per serving and warm gently on low heat. The flavors meld beautifully overnight, making it perfect for meal prep. For freezing, portion into containers and freeze for up to 3 months.
What's the secret to extra-flavorful rice?
The secret lies in the spice toasting and broth quality. Use low-sodium broth and add a 1-inch cinnamon stick while cooking for deeper flavor. For extra richness, stir in 1 tablespoon butter with the lemon juice at the end. The rice should be fluffy with distinct grains—never mushy. This technique transforms ordinary rice into fragrant, restaurant-quality pilaf.
