This paper proposes a comprehensive new neural spike detection and sorting system. As a critical first step to all neuroscientific studies of the nervous system using chronically implanted electrodes in the brain areas of interest, high performance neural spike detection and sorting from the massive amount of continuously recorded neural data is a challenging task, especially in real time applications such as brain machine interface. Many existing spike detection and sorting systems use simple thresholding as the first step to admit a large number of possible spikes for further sorting using various clustering algorithms. Significant efforts have gone into developing sophisticated sorting algorithms, many of which are time consuming in applications. In this paper, we develop a new system that is based on a reliable detection algorithm using multiple correlations of wavelet coefficients, which is robust and can be implemented in real time. Because of the advanced detection step, the system becomes less demanding on the performance of the sorting or clustering algorithms. This has simplified the overall system, and made real time interface and other real time applications possible. We tested the newly proposed system extensively, compared with several popular systems including commercial packages. While most thresholding based detection systems usually create a large number of false alarms, test results show that our proposed system on both artificial and real neural data have produced few false alarms but with high detection rates.