"We have ice cream for dessert."
Translation:У нас есть мороженое на десерт.
На обед, на ужин, на завтрак, на десерт, на первое, на второе (as a part of meal), they usually all take "на" meaning "to". Для requires genitive, by the way: для десерта. It sounds grammatically valid as well but rather uncommon and semantically different here.
The English word [ for ] various meanings do not translate to just [ на ] and [ для ]
For autonomy ‧ Pro autonomy ‧ Advocacy for and against autonomy
For each ‧ Per each ‧ 4 Hydrogen for each Carbon H4C atom
For walk ‧ On walk ‧ Go for a walk
For broke ‧ Until broke ‧ Go for broke
For hills ‧ Toward hills ‧ Head for the hills
For surgery ‧ Before surgery ‧ Scrub for surgery
For joy ‧ Out of joy ‧ Jump for joy
For gold ‧ After gold ‧ Go for the gold
For exchange ‧ in exchange ‧ trade stamps for coins
Why dessert isn't conjugated like десерта? На and для are prepositions as far as I know