In this paper we provide an elementary proof of James’ characterization of weak compactness in separable Banach spaces. The proof of the theorem does not rely upon either Simons’ inequality or any integral representation theorems. In fact the proof only requires the Krein–Milman theorem, Milman’s theorem and the Bishop–Phelps theorem.