Proteins adopt complex folds in nature that typically avoid conformations that are knotted or "threaded" through closed loops. Is this the result of fundamental barriers to folding, or have proteins simply evolved to avoid threaded conformations? Organic synthesis has been used in supramolecular chemistry to install topological links in small molecules. By following these principles, we now show that it is possible to assemble a topologically linked protein complex by threading a linear protein through a cyclic protein to form a pseudo-rotaxane. Subsequent ring closure using native chemical ligation cyclizes the linear protein, forming a heterocatenane. Although the kinetics of protein threading are slower than the folding kinetics of the native protein, threading appears to be a highly efficient process.