The case of polar solvents is clear to me - we get an attraction between opposite charges. However, how do non-polar substances dissolve in non-polar solvents? How could it be explained on a molecular level?
The electron density distribution in molecules (including nonpolar ones) is not static. Therefor, as a function of time, the electron density is not uniform. Occasionally, randomly, the electron density in a molecule will shift to produce a spontaneous dipole: part of the molecule now has more electron density ($\delta^-$) and part of the molecule now has less electron density ($\delta^+$). This spontaneous dipole is transient. The electron density will shift back to negate it and then shift again to create a new spontaneous dipole. In a vacuum, this behavior would be a curiosity.
In the presence of other molecules, these spontaneous dipoles have a propagating effect. If molecule A develops a spontaneous dipole, then the electron density in neighboring molecule B will by respond by developing a spontaneous (but opposite) dipole. The $\delta^+$ region of B will be close to the $\delta^-$ region of A. This new dipole in molecule B is an induced dipole. This induced dipole in B will then induce a new induced dipole in another neighboring molecule C. By this time the transient dipole in A is already fading, perhaps to be replaced by a new induced dipole from another molecule.
These random, transient, but continuously propagating dipoles have attractive forces associated with them. These forces are named London dispersion forces after the physicist who proposed them. The magnitude of these forces scales with increasing surface area of the molecule. Thus, larger molecules will overall have stronger London dispersion forces than smaller molecules. Linear rod-like molecules will have stronger forces than spherical molecules (spheres having the smallest surface area to volume ratio of the 3-dimensional solids).
More complex attractive forces also arise from nonpolar molecules. Benzene (and other aromatic molecules) can pi stack, which relies on the strong permanent electric quadrupole. Benzene also has a (weak but) permanent magnetic dipole due to its ring current, so some component of the attraction between benzene molecules may be magnetic and not coulombic. Or, the two attractions may be one and the same, as benzene's electric quadrupole may result from its having a magnetic dipole. As his part of the discussion is devolving into physics, I will end here.
I think @Ben Norris's answer is great, but I wanted to add one other reason that non-polar molecules will dissolve in non-polar solvents, even in the absence of interactions: entropy. If there are no intermolecular interactions at all (ie, the solvent molecules ignore each other and the solute molecules, and the solute molecules ignore each other and the solvent molecules), then the entropy of mixing will be positive, and mixing will be favored. As a result, species always want to mix; it takes unfavorable conditions to cause non-solubility.