We report on a new, original and efficient method for pi-stacking functionalization of single-wall carbon nanotubes. This method is applied to the synthesis of a high-yield light-harvesting system combining single-wall carbon nanotubes and porphyrin molecules. We developed a micelle-swelling technique that leads to controlled and stable complexes presenting an efficient energy transfer. We demonstrate the key role of the organic solvent in the functionalization mechanism. By swelling the micelles, the solvent helps the non-water-soluble porphyrins to reach the micelle core and allows a strong enhancement of the interaction between porphyrins and nanotubes. This technique opens new avenues for the functionalization of carbon nanostructures.