Unfortunately the dealership is likely your only option. HOWEVER, not all dealerships are created equal (their pricing and service are excellent indicators of this). So shop around, and find a good price. eBMWparts.com (which is a dealership) was doing keys for $160 for a while.
Past: 1999 Techno Violet Metallic M3
Present: 2012 135i DCT Dinan S2