  A branch vertex in a tree is a vertex of degree at least three. We prove
that, for all $s\geq 1$, every connected graph on $n$ vertices with minimum
degree at least $(\frac{1}{s+3}+o(1))n$ contains a spanning tree having at most
$s$ branch vertices. Asymptotically, this is best possible and solves, in less
general form, a problem of Flandrin, Kaiser, Ku\u{z}el, Li and Ryj\'a\u{c}ek,
which was originally motivated by an optimization problem in the design of
optical networks.
