For every 0 < R < 1 and > 0, we present an explicit construction of error-correcting codes of rate R that can be list decoded in polynomial time up to a fraction (1 - R - ) of errors. These codes achieve the "capacity" for decoding from adversarial errors, i.e., achieve the optimal trade-off between rate and error-correction radius. At least theoretically, this meets one of the central challenges in coding theory. Prior to this work, explicit codes achieving capacity were not known for any rate R. In fact, our codes are the first to beat the error-correction radius of 1 R, that was achieved for ReedSolomon codes in [11], for all rates R. (For rates R < 1/16, a recent breakthrough by Parvaresh and Vardy [14] improved upon the 1 R bound; for R 0, their algorithm can decode a fraction 1 - O(R log(1/R)) of errors.) Our codes are simple to describe -- they are certain folded Reed-Solomon codes, which are in fact exactly Reed-Solomon (RS) codes, but viewed as a code...