The identification of small molecule antagonists of protein function is at the core of the pharmaceutical industry. Successful approaches to this problem, including screening and rational design, have been developed over the years to identify antagonists of enzymes and cellular receptors. These methods have been extended to the search for inhibitors of protein-protein interactions. While the very possibility of designing a small molecule inhibitor for such interactions was once doubted, there are examples of such inhibitors that are currently marketed products and many more inhibitors in various stages of research and development. Here we review the progress in identifying and designing small molecule protein inhibitors, with particular attention to those that block protein-protein interactions. We also discuss the physical character of protein-protein interfaces, and the resulting implications for small molecule lead discovery and design.