Libyan Spiced Tomato Fried Rice with Fish
Cubes of seared white fish are folded into cold rice stir-fried with caramelized tomato paste, cumin, coriander, and fresh chili. The dish is inspired by the bold tomato-and-spice flavors of Libyan coastal cooking. It's a fast, one-pan dinner with a gentle kick and a bright lemon finish.
- Prep
- 20 min
- Cook
- 27 min
- Wait
- 17 min
- Total
- 1 hr 4 min
- Makes
- About 7 cups (4 generous servings)
Steps
Before you start
- Cook the rice at least 4 hours ahead, ideally the day before: 1⅓ cups (260 g) raw long-grain rice makes about 4 cups (700 g) cooked. Spread it on a tray and refrigerate it uncovered so it dries out. Warm, wet rice turns mushy when fried.
- Pat the fish very dry with paper towels. Dry fish sears instead of steaming and holds together better.
- Have everything chopped and measured before you turn on the heat. The stir-frying steps move quickly.
- The fish is safely cooked only when the thickest cube reads 145°F (63°C) on an instant-read thermometer. Keep the thermometer handy.
- The chili sets the heat. Leave the seeds in for a hot dish, or remove them for a milder one.
Prep the vegetables
- Dice the onion and bell pepper, mince the chili and garlic, dice the fresh tomatoes, and chop the parsley.
- Juice half the lemon into a small bowl and cut the other half into 4 wedges.
- Keep the ingredients in separate piles near the stove so you can add them quickly.
+ Show details− Hide details
Ready when: Everything is chopped, and the vegetables are in separate piles.
Tip: Wash your hands well after mincing the chili, and don't touch your eyes.
Season and marinate fish
- Put the fish cubes in a medium bowl.
- Add 1 tbsp lemon juice, ½ tsp salt, ½ tsp cumin, the paprika, and 1 tbsp of the olive oil.
- Toss gently with your hands until every cube is evenly coated.
- Cover and refrigerate for 15 minutes.
+ Show details− Hide details
Ready when: Fish cubes look evenly coated in orange-red spice with no dry patches.
Tip: Don't marinate longer than 30 minutes. The lemon juice will start to turn the fish firm and chalky.
Loosen the rice
- While the fish marinates, tip the cold rice into a large bowl.
- Use your fingers to break up every clump until the grains are loose and separate.
- Stir in the thawed peas and set aside near the stove.
+ Show details− Hide details
Ready when: No clumps remain, and the grains fall apart when you lift a handful.
Sear the fish
- Heat a 12-inch (30 cm) skillet or wok over medium-high heat for 2 minutes.
- Add 1 tbsp olive oil and swirl to coat.
- Add the fish in a single layer, working in two batches if the pan looks crowded.
- Cook undisturbed for 1½ minutes, then turn each cube and cook another 1 to 1½ minutes.
- Transfer to a plate.
- This is only a sear: the fish finishes cooking to 145°F (63°C) in the rice later.
+ Show details− Hide details
Ready when: Fish is golden on the outside and just turning opaque. It is still undercooked inside, so do not serve it yet.
Tip: Don't stir constantly. Letting the cubes sit undisturbed helps them brown and release from the pan without breaking.
Soften the aromatics
- Reduce the heat to medium.
- Add the remaining 2 tbsp olive oil to the same pan, scraping up any browned bits.
- Add the onion, bell pepper, and chili with a pinch of the rice salt.
- Cook, stirring every 30 seconds, for 5 to 6 minutes.
+ Show details− Hide details
Ready when: Onion is translucent and soft with golden edges, and the pepper has softened.
Tip: If the pan looks dry or anything starts to scorch, add 1 tbsp of water.
Toast paste and spices
- Push the vegetables to the edges to clear a space in the center.
- Add the garlic, tomato paste, 1½ tsp cumin, coriander, turmeric, and cinnamon to the center.
- Stir the paste and spices for 1½ to 2 minutes, then mix them into the vegetables.
+ Show details− Hide details
Ready when: Tomato paste darkens from bright red to a deep brick red and smells sweet and toasty. The garlic is fragrant but not browned.
Tip: Frying the paste in oil removes its raw, tinny taste. Keep it moving so the garlic and spices don't burn.
Cook the tomato base
- Add the diced fresh tomatoes and the water.
- Raise the heat to medium-high and simmer, stirring often and pressing the tomatoes against the pan, for 5 to 6 minutes.
+ Show details− Hide details
Ready when: The tomatoes have broken down into a thick, jammy sauce. When you drag a spoon through it, the pan bottom stays visible for a second, and no watery liquid pools.
Tip: A wet sauce makes soggy rice. Keep cooking until it is thick.
Stir-fry the rice
- Raise the heat to high.
- Add the rice and peas, sprinkle with the remaining salt, and toss and fold for 4 to 5 minutes, pressing the rice into the sauce.
- Keep turning so the grains absorb the tomato color and heat through evenly.
+ Show details− Hide details
Ready when: Every grain is evenly brick-orange, steaming hot, and slightly dry, with a few crisp bits at the edges. No white streaks remain.
Tip: If the rice sticks, lower the heat slightly rather than adding more liquid.
Return fish and finish
- Reduce the heat to medium-high.
- Return the fish and any juices from the plate to the pan.
- Fold gently with a wide spatula for 2 to 3 minutes.
- Insert an instant-read thermometer into the thickest cube: it must read at least 145°F (63°C).
- If it doesn't, keep folding gently for 1 minute more and check again.
- Take the pan off the heat.
- Taste, and add salt if needed.
+ Show details− Hide details
Ready when: Fish is opaque and flakes easily, and reads at least 145°F (63°C) in the thickest cube.
Tip: Fold, don't stir. Vigorous stirring breaks the fish into small pieces.
Rest and serve
- Scatter the parsley over the rice and cover the pan for 2 minutes off the heat so the flavors settle.
- Fluff gently, then serve hot with the lemon wedges for squeezing over each portion.
+ Show details− Hide details
Ready when: The rice is fragrant and steaming, and the parsley is bright green.
Good to know
Tips
- Cold, dry, day-old rice is the key to separate grains. Freshly cooked rice will clump and turn mushy.
- Brown the tomato paste in the oil until it is brick red. This adds the deep, savory, slightly sweet flavor the dish depends on.
- Use a wide pan and don't overcrowd it. If your skillet is smaller than 12 inches, cook the rice in two batches so it fries instead of steaming.
- Serve with a simple salad of cucumber, tomato, and lemon juice, or a spoonful of plain yogurt, to cool the chili heat.
Make ahead
Cook and chill the rice up to 2 days ahead. Chop the vegetables and mince the garlic and chili up to 1 day ahead and refrigerate them in covered containers. Marinate the fish no more than 30 minutes before cooking.
Storage & reheating
Room temperature: no more than 1 hour. Fridge: cool quickly, then keep in an airtight container for up to 2 days. Freezer: not recommended, since the fish turns watery and the rice dry. Reheat in a skillet over medium heat with 1 to 2 tbsp of water, stirring gently, until steaming hot and the fish reaches 165°F (74°C).
Substitutions
- firm white fish fillets (cod, haddock, halibut, or sea bass) → Raw peeled shrimp or firm fish such as monkfish or tilapia. Shrimp needs only 1 to 2 minutes per side and should be pink and opaque. Thin tilapia fillets break more easily, so fold gently. Fish still needs to reach 145°F (63°C).
- fresh red chili (such as Fresno or serrano) → 1 to 2 tsp harissa paste. Stir it in with the tomato paste. Harissa is already salted, so reduce the rice salt to ¾ tsp at first and adjust to taste.
- cooked long-grain white rice → Cold cooked basmati or medium-grain rice. Basmati gives a lighter, fluffier result. Medium-grain is stickier, so break it up well.
- ripe tomatoes → 1 cup (240 g) canned diced tomatoes, well drained. Use when fresh tomatoes are out of season. Cook a minute or two longer to thicken.