In this paper we consider the scenario of multiple unicast flows intersecting a common router in an opportunistic wireless network. Instead of forwarding packets in each of the flows independently, the router can perform inter-session network coding and transmit codewords to improve the network throughput. Unlike coding for multicast data flow for which an optimal code can be constructed in polynomial time, coding for unicast data flows is a more complicated coding problem and has been shown to be an NP-hard problem. Opportunities for inter-session network coding have also been shown to exist in single-hop wireless data dissemination network such as Wi-Fi and WiMAX networks. In this paper we propose an efficient coding scheme for unicast flows and demonstrate its higher coding gain over previously proposed state of the art coding schemes, validated using simulation results and wireless sensor network testbed packet reception traces. We also show that our proposed algorithm is optimal for all 238 non-isomorphic coding instances for n ≤ 4, and for 9500 of the 9608 non-isomorphic coding instances for n = 5, where n is the number of unicast packets. Access Point Has: p 1 , p 2 , p 3 , p 4. Codewords: p 1 p 2 , p 3 p 4. Client c 1 Overheard: p 2 , p 3. Want: p 1 , p 4. Client c 2 Overheard: p 1. Want: p 2. Client c 3 Overheard: p 4. Want: p 3 .