Heat oil in a deep skillet or saucepan over medium heat.
Add onion and sauté until translucent, then add ginger and garlic, stirring until ginger and garlic are fragrant. Add basmati rice and stir, coating rice with oil, onion, ginger and garlic.
Pour in coconut milk, chicken broth, garam masala, and salt. Bring to a boil, then reduce to low and simmer for 18-20 minutes per rice cooking instructions or until broth and coconut milk is absorbed and the rice is tender.
Once rice is cooked, remove from heat and allow to cool for 3 minutes, then fluff with a fork. Serve sprinkled with green onions.