The problem of finding good covering codes in Hamming spaces is considered. Many different local search methods have been used to find packing codes (the dual problem), whereas practically all published results on searches for covering codes are based on simulated annealing. In this article tabu search is evaluated and compared against the simulated annealing method. A novel neighborhood function is also presented. The combination of a new optimization method and a new neighborhood function turns out to speed up the search for covering codes remarkably compared to the traditional simulated annealing approach. Using the new approach, the best known upper bound for the football pool problem for 9 matches is improved to 1341. © 1997 John Wiley & Sons, Inc.