We prove that BIMATRIX, the problem of finding a Nash equilibrium in a two-player game, is complete for the complexity class PPAD (Polynomial Parity Argument, Directed version) introduced by Papadimitriou in 1991.Our result, building upon the work of Daskalakis et al. [2006a] on the complexity of four-player Nash equilibria, settles a long standing open problem in algorithmic game theory. It also serves as a starting point for a series of results concerning the complexity of two-player Nash equilibria. In particular, we prove the following theorems:-BIMATRIX does not have a fully polynomial-time approximation scheme unless every problem in PPAD is solvable in polynomial time. -The smoothed complexity of the classic Lemke-Howson algorithm and, in fact, of any algorithm for BIMATRIX is not polynomial unless every problem in PPAD is solvable in randomized polynomial time.Our results also have a complexity implication in mathematical economics:-Arrow-Debreu market equilibria are PPAD-hard to compute.