Previously proposed quantum algorithms for solving linear systems of equations cannot be implemented in the near term due to the required circuit depth. Here, we propose a hybrid quantum-classical algorithm, called Variational Quantum Linear Solver (VQLS), for solving linear systems on near-term quantum computers. VQLS seeks to variationally prepare $|xrangle$ such that $A|xranglepropto|brangle$. We derive an operationally meaningful termination condition for VQLS that allows one to guarantee that a desired solution precision $epsilon$ is achieved. Specifically, we prove that $C geq epsilon^2 / kappa^2$, where $C$ is the VQLS cost function and $kappa$ is the condition number of $A$. We present efficient quantum circuits to estimate $C$, while providing evidence for the classical hardness of its estimation. Using Rigettis quantum computer, we successfully implement VQLS up to a problem size of $1024times1024$. Finally, we numerically solve non-trivial problems of size up to $2^{50}times2^{50}$. For the specific examples that we consider, we heuristically find that the time complexity of VQLS scales efficiently in $epsilon$, $kappa$, and the system size $N$.