Properly adjusting the transmission power of the nodes in wireless sensor networks can reduce the energy consumption significantly. However, ignoring the variety of energy will make nodes with lower energy transmit data packets with higher power level to enter premature death state. Besides, lack of learning ability on the existing data set inevitably restricts the network scalability and applications in different environment. This paper introduces a self-adaptive Neural Fuzzy controller based Transmission power Control approach (NFTC) which aims to adjust the transmission power of the nodes dynamically. In NFTC, each node contains a fuzzy controller that consists of two inference engines whose parameters is provided from a neural network with a training data set and an if-then rules base respectively. Moreover, the outputs are feedbacked to the fuzzy controller in order to adapt to the change of packet reception ratio with respect to the residual energy. Consequently, NFTC reduces the actual energy consumption while makes the packet reception ratio be close to the desired value, and extends the network lifetime. The validation experiment results show NFTC outperforms its counterparts in terms of average packet reception ratio, total residual energy as well as network lifetime.