This paper presents a new Geographical Power Efficient Routing (GPER) protocol for sensor networks. Each sensor node makes local decisions as to how far to transmit: therefore, the protocol is power efficient, highly distributed and scalable. In GPER, given a final destination, each node first establishes a sub-destination within its maximum radio range. The node, however, may decide to relay the packet to this sub-destination through an intermediary node, if this will preserve power. Furthermore, this intermediary node may act independently and alter the subdestination based on its own power range and neighborhood status. Simulation results show that the routing power consumption using GPER is close to optimal obtainable based on full knowledge of the network. GPER provides 60%-90% savings over other power-sensitive routing solutions. For sensor networks with highly varying node densities, we propose an extension, GPER-2, which captures the network topology better. Simulations show that although GPER works well, GPER-2 can improve on GPER upto 20%, especially when variations are large.