A method of isolating exosomes from a biological sample is provided. The method includes the steps of: i) exposing the biological sample to a first centrifugation to remove cellular debris greater than about 7-10 microns in size from the sample and obtaining the supernatant following centrifugation ii) subjecting the supernatant from step i) to centrifugation to remove microvesicles therefrom iii) microfiltering the supernatant from step ii) and collecting the microfiltered supernatant iv) subjecting the microfiltered supernatant from step iii) to at least one round of ultracentrifugation to obtain an exosome pellet and v) re-suspending the exosome pellet from step iv) in a physiological solution and conducting a second ultracentrifugation in a density gradient and remove the exosome pellet fraction therefrom. The method advantageously results in exosomes that maintain integrity, stability and are essentially free from contaminating particles.