Niemann-Pick Protein C2 (npc2) is a small soluble protein critical for cholesterol transport within and from the lysosome and the late endosome. Intriguingly, npc2-mediated cholesterol transport has been shown to be modulated by lipids, yet the molecular mechanism of npc2-membrane interactions has remained elusive. Here, based on an extensive set of atomistic simulations and free energy calculations, we clarify the mechanism and energetics of npc2-membrane binding and characterize the roles of physiologically relevant key lipids associated with the binding process. Our results capture in atomistic detail two competitively favorable membrane binding orientations of npc2 with a low interconversion barrier. The first binding mode (Prone) places the cholesterol binding pocket in direct contact with the membrane and is characterized by membrane insertion of a loop (V59-M60-G61-I62-P63-V64-P65). This mode is associated with cholesterol uptake and release. On the other hand, the second mode (Supine) places the cholesterol binding pocket away from the membrane surface, but has overall higher membrane binding affinity. We determined that bis(monoacylglycero)phosphate (bmp) is specifically required for strong membrane binding in Prone mode, and that it cannot be substituted by other anionic lipids. Meanwhile, sphingomyelin counteracts bmp by hindering Prone mode without affecting Supine mode. Our results provide concrete evidence that lipids modulate npc2-mediated cholesterol transport either by favoring or disfavoring Prone mode and that they impose this by modulating the accessibility of bmp for interacting with npc2. Overall, we provide a mechanism by which npc2-mediated cholesterol transport is controlled by the membrane composition and how npc2-lipid interactions can regulate the transport rate.