Rinse sabudana until water runs mostly clear. Soak in 1 cup water for 2 hours or overnight in the refrigerator. Drain well.
Cook the kheer
In a heavy saucepan, bring 1 cup water to a gentle boil. Add drained sabudana and cook on medium-low, stirring often, until pearls turn mostly translucent, about 10 to 12 minutes.
Pour in milk. Bring to a simmer, then reduce heat to low. Cook 18 to 22 minutes, stirring every few minutes, until the kheer thickens and pearls are soft with no white core.
Stir in 1/4 cup sugar and cardamom. Cook 3 minutes more. Turn off heat if the milk foams up; resume on low.
Make the caramel
In a small non-stick pan, combine 2 tbsp sugar and 2 tbsp water. Cook on low without stirring until the sugar dissolves, then swirl the pan occasionally until the syrup turns light amber, 6 to 8 minutes.
Finish
Return kheer to a low simmer if it has cooled. Pour caramel in a thin stream while stirring constantly until fully combined, 1 to 2 minutes.
Stir in half the nuts and saffron if using. Taste and add a pinch more sugar only if needed.
Serve warm, or chill and garnish with remaining nuts.
Notes
Soak sabudana at least 2 hours for even cooking.Add caramel only after pearls are tender to reduce curdling risk.For a vegan version, use a full-fat coconut milk and oat milk blend (3 cups total).Jain-friendly if you use nuts only and confirm packaged sabudana meets your fasting rules.Store in the refrigerator up to 2 days. Stir in a little warm milk when reheating.