Sensor networks are eligible candidates for military and scientific applications such as border security and environmental monitoring. They are usually deployed in unattended or hostile environments; therefore, security is a major concern with these networks. A fundamental requirement is the capability to establish pairwise keys between sensors. Many key establishment protocols have been proposed to address the security issues in wireless sensor networks. However, most of these protocols have security and/or performance restriction. In this article, we propose a new key establishment protocol based on symmetric polynomials and random key pre-distribution. In our protocol, contrary to others, we use several symmetric polynomials to generate polynomial shares for a group of sensors, and the distribution of polynomial shares to each sensor is done using a combinatorial design. Since a limited number of shares are generated from a symmetric polynomial, the polynomial degree is very low. As a result, the common key between sensors can be generated without imposing significant overhead to them. Further, in the proposed protocol, key establishment between near sensors is provided via symmetric polynomials, while key establishment between far sensors is accomplished via random key pre-distribution. Using these two techniques simultaneously allows end to end key establishment between every pair of sensors with reasonable overhead.