In a medium saucepan over medium-high heat, add cardamom and cook, stirring constantly, for about 15 seconds to toast the spice. Transfer to a small bowl. Add coconut to pan and cook, stirring constantly, until just beginning to brown - about 2 minutes. Add to cardamom.

Add oil and garlic to pan. Sauté, stirring often, just until garlic is fragrant but not browned - about 15-30 seconds. Stir in rice and cook 3 minutes. Stir in reserved coconut/cardamom mixture, water, and salt. Bring to a simmer, cover, reduce heat to medium-low, and cook 20 minutes or until liquid is absorbed. Fluff with a fork. Add butter, stirring gently until melted. Stir in cilantro.