Enzymes are powerful tools for post-translational protein labeling due to their high sequence specificity and mild reaction conditions. Many existing protocols, however, are restricted to conjugations at terminal positions or rely on non-peptidic metabolites and large recognition domains. Here we introduce a chemoenzymatic method to functionalize proteins at internal lysine residues that are part of genetically encoded minimal recognition tags (four residues). We achieved this by employing the intrinsic sequence specificity of the E2 SUMO-conjugating enzyme Ubc9 and a short peptide thioester, which together obviate the need for E1 and E3 enzymes. Using a range of protein substrates, we apply this approach to the conjugation of biochemical probes, one-pot dual-labeling reactions in combination with sortase, and site-specific monoubiquitination and ISG15ylation. The small tag size and large substrate tolerance of Ubc9 will make this a method of choice for protein engineering by isopeptide formation and the preparation of ubiquitinated proteins.