The MUNU detector was designed to study neutrino-electron elastic scattering at low energy. The central component is a Time Projection Chamber filled with CF4 gas, surrounded by an anti-Compton detector. The experiment was carried out at the Bugey (France) nuclear reactor. In this paper we present the final analysis of the data recorded at 3 bar and 1 bar pressure. Both the energy and the scattering angle of the recoil electron are measured. From the 3 bar data a new upper limit on the neutrino magnetic moment was derived. At 1 bar electron tracks down to 150 keV were reconstructed, demonstrating the potentiality of the experimental technique for future applications in low energy neutrino physics.