Cut the crusts of the bread. Don’t throw away the edges – use them as breadcrumbs in some other recipe. Cut the bread slice into triangles or squares based on the serving dish / style. Triangle is the traditional style, though square can be easier to layer in a rectangle dish. Best to use a sharp serrated knife to cut the bread.
Heat oil / ghee in a large shallow frying pan, and fry the bread slices till golden. The oil needs to be at medium heat – if it’s too hot, the bread slices will burn. And if it’s not hot enough, the bread slices won’t fry properly, and absorb too much oil / ghee. Use a slotted spoon to remove bread and drain on kitchen towels. See notes on instructions for shallow frying, air frying and baking. Remove the cardamom seeds from the cardamom pods. Crush the cardamom seeds in a mortar pestle. Alternatively, you can use a spice or coffee grinder or a rolling pin.
Place the milk along with the crushed cardamom seeds in a large heavy bottomed pot. Heat on low-medium heat till the milk comes to a boil.
Turn heat to low and let the milk simmer for 45 minutes – 1 hour. Keep stirring occasionally to ensure that the milk does not burn. As the milk cooks, the quantity will reduce and change color from white to off-white/cream.
Add sugar and cream to milk. Stir with a whisk to make sure the sugar dissolves and cream is mixed properly. Let it simmer for 10 - 15 minutes, stirring every few minutes.
Dissolve saffron (if using) in a tablespoon of cold milk and then add it to the hot milk mixture. Let it simmer for 2-3 minutes to let the flavor infuse.
Crush almonds and pistachios and set aside. Add half of the nuts mixture in the milk and set aside the rest for layering and garnish. Turn off the heat and set aside the infused milk.
Take a glass or ceramic serving dish and start assembling the shahi tukda. Start by placing a layer of the fried bread slices on the bottom. Top with a few ladles of milk, enough to soak the bread, along with 1 teaspoon of the crushed nuts. Layer with more bread slices, milk and nuts till the dish is full. This is similar how you'd layer a bread pudding. The shahi tukray taste best when they are soaked in the milk properly, so choose a shallow rectangle dish or keep to a maximum of 3 layers. If using a deep dish, move the bread slices from top to bottom, and bottom to top after an hour of chilling to let them soak the milk properly. Cover the assembled shahi tukda with cling wrap and then chill in the refrigerator for at least 3-4 hours. The shahi tukda can be served hot or cold, but in my house it's always served cold.