A method for selective labeling of phosphate groups in natural and synthetic oligomers and polymers in the presence of chemically related groups such as carboxylic acid groups. The method is specifically applicable to biological oligomers and polymers, including phosphopeptides, phosphoproteins and phospholipids. In a specific embodiment, selective labeling of phosphate groups in proteins and peptides, for example, facilitates separation, isolation and detection of phosphoproteins and phosphopeptides in complex mixtures of proteins. Selective labeling can be employed to selectively introduce phosphate labels at phosphate groups in an oligomer or polymer, e.g., in a peptide or protein. Detection of the presence of the label, is used to detect the presence of the phosphate group in the oligomer or polymer. The method is useful for the detection of phosphoproteins or phosphopeptides. The phosphate label can be a colorimetric label, a radiolabel, a fluorescent or phosphorescent label, an affinity label or a linker group carrying a reactive group (or latent reactive group) that allows selective attachment of the oligomer or polymer (protein or peptide) to a phosphate label, to an affinity label or to a solid support. The method can be combined with well-known methods of mass spectrometry to detect and identify phosphopeptides and phosphoproteins.