We will present a new preconditioner to solve the linear systems of equations arising from the discretization of elliptic partial differential equations (PDEs) using the finite element method. This is a recursive algorithm that uses (a) non-overlapping domain decomposition, (b) Schur decomposition, (c) Krylov subspace method and (d) a fast solver such as multigrid. We will also describe the parallel implementation of this algorithm. Although the algorithm is general enough to be applied to solve a wide variety of elliptic PDEs, we will focus on a model Poisson problem for demonstration purposes. The algorithm can also be extended to other discretizations such as finite difference or finite volume methods.