The versatility of the CMS apparatus is exploited in an attempt to identify and reconstruct individually each particle arising from LHC proton-proton collisions with a combination of the information from all sub-detectors. The resulting particle-flow event reconstruction leads to an improved performance for jets, missing transverse energy and lepton identification. The particle flow algorithm was successfully confronted to the first LHC data, and is now used by most analyses in CMS.