We give a new proof of Vinogradov's three primes theorem, which asserts that all sufficiently large odd positive integers can be written as the sum of three primes. Existing proofs rely on the theory of L-functions, either explicitly or implicitly. Our proof is sieve theoretical and uses a transference principle, the idea of which was first developed by Green [Ann. of Math. (2008), . To make our argument work, we also develop an additive combinatorial result concerning popular sums, which may be of independent interest.