Greedy forwarding is a simple yet efficient technique employed by many routing protocols. It is ideal to realize point-to-point routing in wireless sensor networks because packets can be delivered by only maintaining a small set of neighbors' information regardless of network size. It has been successfully employed by geographic routing, which assumes that a packet can be moved closer to the destination in the network topology if it is forwarded geographically closer to the destination in the physical space. This assumption, however, may lead packets to the local minimum where no neighbors of the sender are closer to the destination or low-quality routes that comprise long distance hops of low packet reception ratio. To address the local minimum problem, we propose a topology aware routing (TAR) protocol that efficiently encodes a network topology into a low-dimensional virtual coordinate space where hop distances between pairwise nodes are preserved. Based on precise hop distance comparison, TAR can assist greedy forwarding to find the right neighbor that is one hop closer to the destination and achieve high success ratio of packet delivery without location information. Further, we improve the routing quality by embedding a network topology based on the metric of expected transmission count (ETX). ETX embedding accurately encodes both a network's topological structure and channel quality to nodes' small size virtual coordinates, which helps greedy forwarding to guide a packet along the optimal path that has the fewest number of transmissions. We evaluate our approaches through both simulations and experiments, showing that routing performance are improved in terms of routing success ratio and routing cost.