In complex environments, the sole reactive navigation algorithm is easily to be trapped in a loop, which is called the local minima problem. Therefore, an autonomous navigation algorithm based on sub-goal and tabu search algorithm is presented. Aiming at the critical vertex in the visible area as searching neighborhood, the optimization sub-goal is obtained by using the tabu search algorithm. Then the mobile robot tracks the sub-goal by means of reactive navigation and finally reaches the goal by updating the sub-goal positions gradually. The algorithm can overcome the local minima obviously and enhance the navigation ability of the robot in complex environments. Theory analysis and simulation results show the effectiveness and feasibility of the algorithm.