Many experiments involving nucleic acids require the hybridization and ligation of multiple DNA or RNA molecules to form a compound molecule. When one of the constituents is single stranded, however, the efficiency of ligation can be very low and requires significant individually tailored optimization. Also, when the molecules involved are very long (>10 kb), the reaction efficiency typically reduces dramatically. Here, we present a simple procedure to efficiently and specifically end-join two different nucleic acids using the well-known biotin-streptavidin linkage. We introduce a two-step approach, in which we initially bind only one molecule to streptavidin (STV). The second molecule is added only after complete removal of the unbound STV. This primarily forms heterodimers and nearly completely suppresses formation of unwanted homodimers. We demonstrate that the joining efficiency is 50 +/- 25% and is insensitive to molecule length (up to at least 20 kb). Furthermore, our method eliminates the requirement for specific complementary overhangs and can therefore be applied to both DNA and RNA. Demonstrated examples of the method include the efficient end-joining of DNA to single-stranded and double-stranded RNA, and the joining of two double-stranded RNA molecules. End-joining of long nucleic acids using this procedure may find applications in bionanotechnology and in single-molecule experiments.