Molecular co-evolution is manifested by compensatory changes in proteins designed to enable adaptation to their natural environment. In recent years, bioinformatics approaches allowed for the detection of co-evolution at the level of the whole protein or of specific residues. Such efforts enabled prediction of protein-protein interactions, functional assignments of proteins and the identification of interacting residues, thereby providing information on protein structure. Still, despite such advances, relatively little is known regarding the functional implications of sequence divergence resulting from protein co-evolution. While bioinformatics approaches usually analyze thousands of proteins to obtain a broad view of protein co-evolution, experimental evaluation of protein co-evolution serves to study only individual proteins. In this review, we describe recent advances in bioinformatics and experimental efforts aimed at examining protein co-evolution. Accordingly, we discuss possible modes of crosstalk between the bioinformatics and experimental approaches to facilitate the identification of co-evolutionary signals in proteins and to understand their implications for the structure and function of proteins.