Bacterial Foraging Optimization Algorithm (BFOA) is inspired by the social foraging behaviour of Escherichia coli. Although the BFOA has successfully been applied to many kinds of optimization problems, experimentation with complex problems reports that the basic BFO algorithm possesses a poor performance mainly because of its constant chemotactic step. In this paper, a new self-adaptive approach to BFO based on ES (ESABFO) is proposed. In the proposed algorithm, each bacterial decides the step size C on the basis of the objective function value. When it is far away from the best objective, the step size C is large. Otherwise, the step size C is small. In this way, the step size C can be regarded as an evolution progress with self-adaptive adjusting. And it can keep right balance between an exploration of the whole search space and an exploitation of the promising areas. In order to prove the validity of the ES-ABFO, two experiments have been done for a set of benchmark functions and then they have been compared with basic BFOA. The performance comparisons indicated that the ES-ABFO is capable of alleviating the problems of premature convergence in BFO. And it is suitable to solve the complex optimization problems.