Primal-dual first-order methods such as ADMM (alternating direction method of multipliers), PDHG (primal-dual hybrid gradient method) and EGM (extra-gradient method) are often slow at finding high accuracy solutions, particularly when applied to linear programs. This paper analyzes sharp primal-dual problems, a strict generalization of linear programming. We show that for sharp primal-dual problems, many primal-dual first-order methods achieve linear convergence using restarts. For PDHG on bilinear games, we prove that the convergence bounds improve from Θ(κ 2 log(1/ )) to Θ(κ log(1/ )) through the use of restarts where κ is the condition number and is the desired accuracy. Moreover, the latter rate is optimal for wide class of primal-dual methods. We develop an adaptive restart scheme and verify that restarts significantly improve the ability of PDHG to find high accuracy solutions to linear programs.