Determining the structure of protein–protein complexes remains a difficult and lengthy process, either by NMR or by X-ray crystallography. Several computational methods based on docking have been developed to support and even serve as possible alternatives to these experimental methods. In this article, we introduce a new protein–protein docking algorithm, shDock, based on shape complementarity. We characterize the local geometry on each protein surface with a new shape descriptor, the surface-histogram. We measure the complementarity between two surface-histograms, one on each protein, using a modified Manhattan distance. When a match is found between two local protein surfaces, a model is generated for the protein complex, which is then scored by checking for collision between the two proteins. We have tested our algorithm on Version 3 of the ZDOCK protein–protein docking benchmark. We found that for 110 out of the 124 test cases of bound docking in the benchmark, our algorithm was able to generate a model in the top 3600 candidates for the protein complex within an root-mean-square deviation of 2.5 Å from its native structure. For unbound docking predictions, we found a model within 2.5 Å in the top 3600 models in 54 out of 124 test cases. A comparison with other shape-based docking algorithms demonstrates that our approach gives significantly improved performance for both bound and unbound docking test cases. Proteins 2012; © 2011 Wiley Periodicals, Inc.