Cut the fish into large chunks including the head.
Coat the fish: Coat the fish with flour on both sides and shake well excess flour.
Fry the fish: Heat oil in a large pot to an adequate frying temperature 180°C (350°F), add the fish chunks in batches, making sure that you use enough oil to cover your fish. Deep fry the fish until it is golden brown and cooked through. Remove fish from the oil and place on kitchen paper towel and drain.
For the fish stock: Transfer the fried heads of the fish to a pot, add 6 cups of water and bring to a boil, reduce heat to medium and cook for 15 minutes. Drain and extract 5 cups of the stock (to cook the rice with later).
Julienne your onions: Cut each onion in half; place the halved onions flat side down onto the cutting board, beginning from one end, slicing long thin strips.
Rinse and drain the rice: Place the rice in a strainer and rinse under running cold water all over the rice and use your hands to agitate, until the water under the strainer turns clear.
Toast the pine nuts: Transfer 3/4 cup of the oil used to fry the fish in a stockpot over medium heat. Add the pine nuts and roast to a golden color. Remove with a slotted spoon, repeat with the almonds.
Add the onions to the same stockpot and cook for about ten minutes, stirring every few minutes. Continue to cook and scrape until onions turn dark brown in color without burning, this step is crucial to obtain a typical sayadieh dish.
Cook the rice: Add the drained rice and stir for 10 seconds, stir in fish stock; season with salt, cumin powder and white pepper. Stir with a fork to mix everything together. Once the mixture starts boiling, reduce heat to low, cover the pot and simmer for 25 to 30 minutes.
Debone the fried fish.
Serve the sayadieh: Transfer the cooked rice onto a platter.
Top with fried fish chunks, garnish with toast the pine nuts and almonds.