Rinse the basmati rice under cold water until the water runs clear. Soak the rice in a large bowl of water for at least 30 minutes, then drain.
If using saffron, dissolve the saffron threads in 2 tablespoons of hot water and set aside.
In a large pot, bring 4 cups of water to a boil. Add a pinch of salt and the soaked and drained rice. Cook the rice for 5-7 minutes until it's partially cooked but still firm in the center. Drain the rice in a colander.
In the same pot, heat 1/4 cup of vegetable oil or melted butter over medium heat. If using potatoes, arrange the thin potato slices in a single layer on the bottom of the pot. This will create a crispy potato layer (optional).
Spoon half of the partially cooked rice over the potato slices (if using), spreading it evenly. Drizzle with a couple of tablespoons of yogurt and a little of the saffron water (if using). Add the remaining rice on top and gently press it down.
Reduce the heat to low. Cover the pot with a clean kitchen towel or a lid wrapped in foil to catch steam. Steam the rice for 30-40 minutes, allowing the bottom layer to become crispy.
To serve, carefully invert the pot onto a serving platter so that the crispy bottom layer (tahdig) is on top. If using potatoes, you should see a beautiful golden crust. Serve the tahdig alongside the rice and any other dishes you like.
Enjoy your meal!