  We show that a graph $G$ has a normal spanning tree if and only if its vertex
set is the union of countably many sets each separated from any subdivided
infinite clique in $G$ by a finite set of vertices. This proves a conjecture by
Brochet and Diestel from 1994, giving a common strengthening of two classical
normal spanning tree criterions due to Jung and Halin.
  Moreover, our method gives a new, algorithmic proof of Halin's theorem that
every connected graph not containing a subdivision of a countable clique has a
normal spanning tree.
