The list-decodability of random linear codes is shown to be as good as that of general random codes. Specifically, for every fixed finite field Fq, p ∈ (0,1 - 1/q) and ε >; 0, it is proved that with high probability a random linear code C in Fqn of rate (1-Hq(p)-ε) can be list decoded from a fraction p of errors with lists of size at most O(1/ε). This also answers a basic open question concerning the existence of highly list-decodable linear codes, showing that a list-size of O(1/ε) suffices to have rate within ε of the information-theoretically optimal rate of 1 - Hq(p). The best previously known list-size bound was qO(1/ε) (except in the q = 2 case where a list-size bound of O(1/ε) was known). The main technical ingredient in the proof is a strong upper bound on the probability that I random vectors chosen from a Hamming ball centered at the origin have too many (more than Ω(ℓ)) vectors from their linear span also belong to the ball.