If surfaces are perfectly smooth and clean, then the atoms will form metallic bonds, resulting in lattices getting fused together. It's the same force that holds metal together in the first place. Realistically, no surface is ever that smooth or that clean. That's where diffusion comes in. Diffusion can allow atoms on the surface to move somewhat, resulting in impurities moving out of the way, surface imperfections getting shifted, etc. If given time, almost any two materials will fuse together due to diffusion. For two clean metal surfaces in a vacuum, that time can be relatively short.